:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.5;font-weight:400;background-color:#030712;color:#fff}body{margin:0;min-height:100vh;background-color:#030712}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}@media (prefers-color-scheme: light){:root{color:#213547}a:hover{color:#747bff}}.calendar-root{background:#030712;border-radius:8px;padding:1rem;width:100%;color:#fff}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding:0 .5rem}.month-label{font-size:1.2rem;font-weight:500;color:#fff}.nav-button{background:transparent;border:none;color:#fff;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center}.nav-button:hover{opacity:.8}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-template-rows:auto repeat(5,1fr);gap:2px;font-size:.75rem;min-height:240px}.calendar-day-header{color:#9ca3af;text-align:center;padding:8px 0;font-size:.7rem;font-weight:500}.calendar-day{aspect-ratio:1;background:transparent;color:#14b8a6b3;border:none;font-size:.875rem;padding:0;display:flex;align-items:center;justify-content:center;cursor:pointer;height:32px;width:32px;border-radius:4px;transition:all .02s ease}.calendar-day:hover:not(.empty):not(.selected):not(.today){background:#8686861a;color:#fff}.calendar-day.selected:not(.today){background:#14b8a626;color:#14b8a6}.calendar-day.today{background:#06b6d433;color:#06b6d4}.calendar-day.empty{display:none}.calendar-day:disabled{opacity:1;cursor:default}.calendar-day.other-month{color:#e0e0e080!important;background:transparent;cursor:default;opacity:.5}.sidebar{position:fixed;top:0;left:0;height:100vh;width:300px;background-color:#030712;border-right:1px solid rgba(255,255,255,.1);padding-top:1.5rem;z-index:2;display:flex;flex-direction:column;gap:2rem;overflow:hidden;transition:all .3s ease}.sidebar::-webkit-scrollbar{display:none}.sidebar{-ms-overflow-style:none;scrollbar-width:none}.logo-container{padding:1.5rem;margin-bottom:.5rem;display:flex;flex-direction:column;align-items:center;gap:1rem;border-bottom:1px solid rgba(255,255,255,.1);min-height:fit-content;flex-shrink:0;position:relative}.logo-container:after{content:"";position:absolute;bottom:0;left:15%;width:70%;height:1px;background:linear-gradient(90deg,transparent,rgba(20,184,166,.5),transparent)}.logo-icon{background:#14b8a61a;padding:1rem;border-radius:12px;display:flex;align-items:center;justify-content:center;width:27px;height:27px;transition:all .3s ease}.logo-icon:hover{transform:scale(1.05);filter:drop-shadow(0 0 8px rgba(20,184,166,.5));background:#14b8a633}.logo-text{text-align:center}.logo-text h1{color:#fff;font-size:1.5rem;font-weight:700;letter-spacing:.1em;margin:0}.logo-text p{color:#14b8a6;font-size:.75rem;font-weight:500;letter-spacing:.2em;margin:.5rem 0 0}.sidebar-items-container{padding:.5rem 0;display:flex;flex-direction:column;gap:.25rem;flex:1;min-height:0}.sidebar-item{margin:.15rem 1rem;border-radius:12px;display:flex;align-items:center;padding:.75rem 2rem .75rem 2.2rem;color:#9ca3af;text-decoration:none;transition:all .3s ease;gap:1rem;position:relative;overflow:hidden;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.sidebar-item:before{content:"";position:absolute;left:0;top:0;height:100%;width:4px;background:#14b8a6;border-radius:0 4px 4px 0;opacity:0;transition:all .3s ease}.sidebar-item:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(20,184,166,.03),transparent);opacity:0;transition:opacity .3s ease}.sidebar-item:hover:before,.sidebar-item.active:before{opacity:1}.sidebar-item:hover:after,.sidebar-item.active:after{opacity:1}.sidebar-item:hover,.sidebar-item.active{background:#14b8a614;color:#fff;transform:translate(4px)}.sidebar-item .icon{color:#14b8a6;min-width:24px;height:24px;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.sidebar-item:hover .icon,.sidebar-item.active .icon{transform:scale(1.1);color:#14b8a6}.sidebar-item-content{display:flex;flex-direction:column;gap:.25rem}.sidebar-item .label{font-size:1rem;color:#9ca3af}.sidebar-item .description{font-size:.9rem;color:#fff;font-weight:500}.sidebar-item:hover .description,.sidebar-item.active .description{color:#14b8a6}.calendar-container{margin-top:auto;padding:1rem 1rem 2.5rem;border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:center;flex-shrink:0;position:relative}.calendar-container:before{content:"";position:absolute;top:0;left:15%;width:70%;height:1px;background:linear-gradient(90deg,transparent,rgba(20,184,166,.5),transparent)}.calendar-header{color:#14b8a6;font-size:.9rem;margin-bottom:1rem;text-align:center}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;font-size:.75rem}.calendar-day-header{color:#9ca3af;text-align:center;padding:4px;font-size:.7rem}.calendar-day{color:#fff;text-align:center;padding:4px;border-radius:4px}.calendar-day.today{background-color:#14b8a6;color:#030712}@media (max-height: 768px){.sidebar{gap:1rem}.logo-container{padding:1rem}.logo-text h1{font-size:1.1rem}.logo-text p{font-size:.65rem;margin-top:.25rem}.sidebar-item{padding:.5rem 1.5rem .5rem 1.7rem}.sidebar-item .label{font-size:.9rem}.sidebar-item .description{font-size:.8rem}.calendar-container{padding:.75rem .75rem 2rem}.calendar-header{font-size:.8rem;margin-bottom:.75rem}.calendar-day{padding:2px;font-size:.7rem}}@media (max-height: 600px){.sidebar{gap:.5rem}.logo-container{padding:.75rem}.logo-text h1{font-size:1rem}.logo-text p{font-size:.6rem}.sidebar-item{padding:.4rem 1.5rem .4rem 1.7rem}.sidebar-item .label{font-size:.85rem}.sidebar-item .description{font-size:.75rem}.calendar-container{padding:.5rem .5rem 1.5rem}.calendar-header{font-size:.75rem;margin-bottom:.5rem}.calendar-day{padding:1px;font-size:.65rem}}@media (max-width: 768px){.sidebar{transform:translate(-300px)}.sidebar.expanded{transform:translate(0)}.timetable-container{margin-left:0}}.timetable-container{padding:1rem;color:#fff;height:calc(100% + 15px);display:flex;flex-direction:column;overflow:hidden;margin-top:-2px}.timetable-header{display:flex;align-items:center;gap:2rem;margin-bottom:1rem;width:100%;flex-wrap:wrap}.timetable-header h1{font-size:1.5rem;font-weight:600;margin:0;color:#fff;display:flex;align-items:center;gap:1rem;cursor:default}.timetable-header .decrypted{color:#fff;transition:color .2s ease}.timetable-header .encrypted{color:#14b8a6;transition:color .2s ease}:root[class~=light-mode] .timetable-header .decrypted{color:#1f2937}:root[class~=light-mode] .timetable-header .encrypted{color:#14b8a6}.decrypted-text-revealed,.decrypted-text-encrypted{display:none}.title-container{display:flex;align-items:center;gap:1rem}.title-spacer{display:inline-block;width:8px}.draft-tag{background:linear-gradient(135deg,#14b8a633,#14b8a61a);color:#14b8a6;padding:.5rem .75rem;border-radius:4px;font-size:.85rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase;border:1px solid rgba(20,184,166,.2);box-shadow:0 0 10px #14b8a61a;margin-left:.75rem}.timetable-layout{display:grid;grid-template-columns:minmax(280px,320px) 1fr;gap:1rem;flex:1;min-height:0;height:100%;min-width:0}.course-panel{background:#03071280;border:1px solid rgba(20,184,166,.2);border-radius:12px;padding:1rem;display:flex;flex-direction:column;gap:.75rem;height:calc(100% + 15px);overflow:hidden;position:relative}.search-container{position:relative;z-index:10}.search-bar{display:flex;align-items:center;background:#030712;border:1px solid rgba(20,184,166,.1);border-radius:8px;padding:.5rem .75rem;transition:all .3s ease}.search-bar:focus-within{border-color:#14b8a6;box-shadow:0 0 0 2px #14b8a61a}.search-icon{color:#fff;margin-right:.5rem}.search-bar input{background:transparent;border:none;color:#fff;width:100%;outline:none;font-size:.875rem}.search-bar input::placeholder{color:#ffffff80}.search-results{position:absolute;top:100%;left:0;right:0;margin-top:.5rem;background:#030712;border:1px solid rgba(20,184,166,.1);border-radius:8px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;max-height:300px;overflow-y:scroll;-ms-overflow-style:none;scrollbar-width:none}.search-results::-webkit-scrollbar{display:none}.search-result-item{padding:.75rem;cursor:pointer;transition:all .2s ease;border-bottom:1px solid rgba(255,255,255,.1)}.search-result-item:last-child{border-bottom:none}.search-result-item:hover{background:#14b8a614}.course-list{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:.75rem;padding-right:.3rem;margin-right:-1rem;position:relative;scrollbar-gutter:stable}.course-list::-webkit-scrollbar{width:6px}.course-list::-webkit-scrollbar-track{background:transparent;border-radius:3px}.course-list::-webkit-scrollbar-thumb{background-color:#ffffff1a;border-radius:3px;border:none}.course-list::-webkit-scrollbar-thumb:hover{background-color:#fff3}.course-list{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.1) transparent}.course-item{background:#030712;border:1px solid rgba(20,184,166,.1);border-radius:8px;padding:.75rem;cursor:pointer;transition:all .2s ease}.course-item:hover{border-color:#14b8a6;background:#14b8a614}.course-header{display:flex;flex-direction:column;gap:.5rem}.course-header h3{margin:0;font-size:.875rem;font-weight:500;color:#fff}.course-occurrences{display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem;padding-top:.5rem;border-top:1px solid rgba(255,255,255,.1)}.occurrence-number{display:flex;align-items:center;justify-content:flex-start;gap:6px;margin-bottom:8px;flex-wrap:wrap}.tag-group{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.occurrence-number span{font-size:clamp(.7rem,2vw,.8rem);font-weight:500;color:#14b8a6;background:#14b8a61a;padding:.2rem .5rem;border-radius:4px;border:1px solid rgba(20,184,166,.2);transition:all .2s ease;white-space:nowrap;min-width:fit-content}.occurrence-number .activity-type{display:inline-flex;align-items:center;background:#14b8a61a;color:#14b8a6;padding:.2rem .5rem;border-radius:4px;font-size:clamp(.7rem,2vw,.8rem);font-weight:500;border:1px solid rgba(20,184,166,.2);transition:all .2s ease;white-space:nowrap;min-width:fit-content}.occurrence-item{background:#1e293b33;border:1px solid rgba(20,184,166,.1);border-radius:8px;padding:1rem;position:relative;margin-bottom:.75rem}.occurrence-session{padding:.75rem 0;margin-bottom:.75rem;display:flex;flex-direction:column;gap:.75rem;border-bottom:1px solid rgba(255,255,255,.1);position:relative}.occurrence-time{display:flex;align-items:center;font-size:.85rem;font-weight:500;padding:0;min-height:24px;gap:.5rem;color:#fff}.occurrence-time svg{color:#fff;font-size:.85rem;width:16px;height:16px;flex-shrink:0;margin-top:2px}.activity-type{display:inline-flex;align-items:center;background:#14b8a61a;color:#14b8a6;padding:.2rem .5rem;border-radius:4px;font-size:.75rem;font-weight:500;margin-left:auto}.occurrence-details{display:flex;flex-direction:column;gap:.75rem;margin-top:0;padding-bottom:.75rem}.occurrence-details .detail-row{display:flex;align-items:center;gap:.5rem;min-height:24px;color:#94a3b8}.occurrence-details .detail-row svg{color:#94a3b8;font-size:.85rem;width:16px;height:16px;flex-shrink:0;margin-top:0}.occurrence-details .detail-text{color:#94a3b8;font-size:.85rem;font-weight:400;line-height:1.4;flex:1;min-width:0;white-space:normal;word-wrap:break-word;overflow-wrap:break-word;display:block;overflow:visible}.course-block .activity-type{font-size:.7rem;background:#14b8a626;color:#14b8a6;padding:.25rem .5rem;border-radius:4px;font-weight:500;margin-left:4px}.course-block .detail-text{color:#94a3b8;font-size:.75rem;font-weight:400;line-height:1.4;flex:1;min-width:0;white-space:normal;word-wrap:break-word;overflow-wrap:break-word;display:block;overflow:visible}.course-block .detail-row{display:flex;align-items:flex-start;gap:6px;color:#94a3b8;font-size:.7rem;min-height:12px}.course-block .detail-icon{color:#14b8a6;font-size:.7rem;flex-shrink:0;width:12px;height:12px;display:flex;align-items:center;justify-content:center;margin-top:2px}.course-block .detail-row:hover .detail-text{position:relative;overflow:visible;background:#1f2937;z-index:10;padding:4px 8px;border-radius:4px;margin:-4px -8px;box-shadow:0 2px 4px #0003;border:1px solid rgba(20,184,166,.2)}.timetable-grid{background:#030712;border:1px solid rgba(20,184,166,.2);border-radius:12px;padding:1rem;height:calc(100% + 15px);display:flex;flex-direction:column;position:relative;overflow:hidden;box-shadow:0 4px 6px -1px #0003}.grid-wrapper{flex:1;display:flex;flex-direction:column;min-height:0;position:relative;height:100%}.grid-scroll-container{flex:1;overflow-y:auto;overflow-x:auto;min-height:0;position:relative;scrollbar-gutter:stable;height:calc(100vh - 200px);padding-right:6px;margin-right:-6px}.days-header{display:grid;grid-template-columns:80px repeat(5,1fr);gap:0px;padding-right:1.2rem;margin-bottom:.75rem;background:#030712;position:sticky;top:0;left:80px;z-index:2;min-width:700px;margin-right:-.45rem}.day-header{color:#fff;font-size:.875rem;font-weight:500;padding:.75rem;text-align:center;background:#030712;margin-right:0rem}.day-header:first-child{position:sticky;left:0;z-index:3}.time-column{position:absolute;left:0;top:0;width:80px;height:1820px;background:#030712;z-index:2;display:flex;flex-direction:column}.time-label{color:#ffffff80;font-size:.75rem;height:140px;display:flex;align-items:flex-start;justify-content:center;padding:0;position:relative;letter-spacing:.1em;box-sizing:border-box;transform:translateY(-10px);margin-top:3.6rem;font-weight:500}.time-label:first-child{padding-top:0;transform:translateY(0)}.time-label:last-child{border-bottom:none}.grid-content{margin-left:80px;display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));height:1820px;position:relative;border-radius:8px;overflow:hidden;background:#030712;border:1.5px solid rgba(20,184,166,.8);box-sizing:border-box;min-width:620px;margin-right:6px}.day-column{position:relative;height:1820px;border-right:1px solid rgba(20,184,166,.5);box-sizing:border-box;min-width:0;width:100%;border-color:#14b8a6b3}.day-column:last-child{border-right:0px solid rgba(20,184,166,.15)}.grid-lines{position:absolute;top:0;left:80px;right:12px;height:1820px;pointer-events:none;z-index:1;min-width:620px;width:calc(100% - 92px)}.horizontal-lines{position:absolute;top:0;left:0;right:0;height:1820px;display:flex;flex-direction:column;width:100%;margin:0;margin-top:3.55rem}.horizontal-line{height:140px;width:100%;border-bottom:1.5px solid rgba(20,184,166,.5);box-sizing:border-box;margin:0;padding:0}.horizontal-line:last-child{border-bottom:none}.vertical-lines{position:absolute;top:0;left:0;right:0;height:1820px;display:grid;grid-template-columns:repeat(5,1fr)}.vertical-line{position:relative;height:100%;border-right:0px solid rgba(20,184,166,.08)}.vertical-line:last-child{border-right:none}.course-block{position:absolute;background-color:#14b8a626;border:0px solid rgba(20,184,166,.3);padding:8px;overflow:hidden;display:flex;flex-direction:column;box-sizing:border-box;transition:all .2s ease;width:100%;margin:0;left:0;right:0;transform:translateY(-1.5px)}.course-block-content{height:100%;display:flex;flex-direction:column;gap:3px}.course-header-row{display:flex;justify-content:space-between;align-items:flex-start;gap:4px;flex-wrap:wrap}.course-code{font-size:clamp(.7rem,1.5vw,.75rem);font-weight:600;color:#fff}.course-name{margin-top:5px;font-size:.75rem;font-weight:500;color:#14b8a6;line-height:1.2;margin-bottom:2px}.tags-container{display:flex;align-items:center;gap:4px}.occ-tag{font-size:.65rem;background:#ffffff1a;color:#fffc;padding:.15rem .35rem;border-radius:3px;font-weight:500;display:inline-flex;align-items:center;justify-content:center;min-width:fit-content;height:18px;line-height:1;box-sizing:border-box}.course-details{display:flex;flex-direction:column;gap:4px;margin-top:auto}.detail-row{display:flex;align-items:center;gap:6px;color:#94a3b8;font-size:.7rem;min-height:12px}.detail-icon{color:#14b8a6;font-size:.7rem;flex-shrink:0;width:12px;height:12px;display:flex;align-items:center;justify-content:center}.detail-text{color:#94a3b8;font-size:.75rem;font-weight:400;line-height:1.4;flex:1;min-width:0;white-space:normal;word-wrap:break-word;overflow-wrap:break-word;display:block;overflow:visible}.course-block .detail-row:hover .detail-text{position:static;overflow:hidden;background:transparent;z-index:auto;padding:0;margin:0;box-shadow:none;border:none}.grid-scroll-container::-webkit-scrollbar{height:6px;width:6px}.grid-scroll-container::-webkit-scrollbar-track{background:transparent;margin:0 3px}.grid-scroll-container::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:3px}.grid-scroll-container::-webkit-scrollbar-thumb:hover{background:#fff3}.grid-scroll-container{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.1) transparent}.course-title{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.25rem}.course-title-icons{display:flex;align-items:center;gap:1rem;padding:.25rem}.expand-icon{color:#fff9;font-size:12px}.remove-icon{color:#ef4444b3;transition:opacity .2s ease;opacity:0;font-size:12px}.course-title:hover .remove-icon{opacity:1}.course-title:hover{background:transparent}.course-title:hover .expand-icon{color:#fff9}.remove-icon:hover{color:#ef4444e6;transform:scale(1.1);transition:all .5s ease}.expand-icon:hover{color:#fff;transform:scale(1.2);transition:all .5s ease}.add-occurrence-btn,.remove-occurrence-btn{position:static;padding:.2rem .5rem;border-radius:4px;font-size:.8rem;font-weight:500;display:flex;align-items:center;gap:.3rem;cursor:pointer;border:1px solid;outline:none;transition:all .2s ease;margin-left:auto;height:25px}.add-occurrence-btn{background:#14b8a61a;color:#14b8a6;border-color:#14b8a633}.add-occurrence-btn:hover{background:#14b8a626;border-color:#14b8a64d}.remove-occurrence-btn{background:#ef44441a;color:#ef4444;border-color:#ef444433;font-size:clamp(.7rem,2vw,.8rem);padding:.2rem .5rem;white-space:nowrap;min-width:fit-content}.remove-occurrence-btn:hover{background:#ef444426;border-color:#ef44444d}.add-occurrence-btn:disabled{background:#ffffff0d;color:#ffffff4d;border-color:#ffffff1a;cursor:not-allowed}:root[class~=light-mode] .add-occurrence-btn:disabled{background:#cbd5e14d;color:#94a3b8;border-color:#cbd5e180;cursor:not-allowed}:root[class~=light-mode] .remove-occurrence-btn:disabled{background:#cbd5e14d;color:#94a3b8;border-color:#cbd5e180;cursor:not-allowed}.add-occurrence-btn svg,.remove-occurrence-btn svg{font-size:.8rem}@media (max-width: 1200px){.timetable-layout{grid-template-columns:250px 1fr}.timetable-grid-wrapper{overflow-x:auto;margin:0 -1rem;padding:0 1rem}}@media (max-width: 768px){.timetable-layout{grid-template-columns:1fr;gap:0;display:flex;flex-direction:column}.course-panel{max-height:250px;margin-bottom:1.5rem;min-height:250px}.timetable-grid{border-radius:12px;border:1px solid rgba(20,184,166,.2);flex:1;height:380px;min-height:380px}.grid-scroll-container,.grid-wrapper{height:100%;max-height:380px}.timetable-grid-wrapper{overflow-x:auto;margin:0 -1rem;padding:0 1rem}.timetable-header{gap:.5rem}.timetable-header h1{font-size:1.25rem}.header-actions{gap:.5rem}.action-button{padding:.4rem .75rem;font-size:.75rem}.draft-tag{padding:.25rem .5rem;font-size:.7rem}.warning-modal,.confirm-dialog{padding:1rem;max-width:90%;width:90%;margin:0 1rem}.warning-header,.confirm-dialog-header{padding-bottom:.75rem;margin-bottom:.75rem;gap:.5rem}.warning-icon{font-size:1.25rem}.warning-title,.confirm-dialog-title{font-size:1rem}.warning-content,.confirm-dialog-content{font-size:.85rem;margin-bottom:1rem}.conflict-days{padding:.5rem;margin:.5rem 0;font-size:.85rem}.warning-actions,.confirm-dialog-actions{gap:.5rem}.warning-button,.confirm-dialog-button{padding:.4rem .75rem;font-size:.85rem}.occurrence-number{gap:4px;margin-bottom:6px}.tag-group{gap:4px}.occurrence-number span,.occurrence-number .activity-type,.remove-occurrence-btn{padding:.15rem .4rem}.course-block{padding:6px}.course-block-content{gap:2px}.course-header-row,.course-block .tag-group{gap:3px}.course-block .activity-type,.course-block .occ-tag{padding:.1rem .25rem}}@media (max-width: 480px){.timetable-header{flex-direction:column;align-items:flex-start;gap:.75rem}.header-actions{margin-left:0;width:100%;justify-content:flex-start}.warning-modal,.confirm-dialog{padding:.875rem;max-width:calc(100% - 2rem);width:100%;margin:0 1rem}.warning-content,.confirm-dialog-content{font-size:.8rem}.warning-button,.confirm-dialog-button{padding:.35rem .65rem;font-size:.8rem}.warning-header,.confirm-dialog-header{padding-bottom:.5rem;margin-bottom:.5rem}.warning-icon{font-size:1.1rem}.warning-title,.confirm-dialog-title{font-size:.95rem}.conflict-days{padding:.5rem;margin:.5rem 0;font-size:.8rem}.occurrence-number{flex-direction:row;width:100%;justify-content:flex-start;gap:4px}.tag-group{flex:1;justify-content:flex-start}.remove-occurrence-btn{margin-left:0}.course-block{padding:4px}.course-header-row{gap:2px}.course-block .tag-group{gap:2px;margin-top:1px}.course-block .activity-type,.course-block .occ-tag{font-size:clamp(.55rem,1.2vw,.65rem);padding:.1rem .2rem}}.header-actions{display:flex;gap:.75rem;margin-left:auto;align-items:center;flex-wrap:wrap}.action-button{display:flex;align-items:center;gap:.5rem;padding:.5rem .85rem;border-radius:8px;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .2s ease;border:none;outline:none;position:relative}.reset-button{background:#ff3b3b1a;color:#ff5050;border:1px solid rgba(255,59,59,.2)}.reset-button:hover{background:#ff3b3b26;border-color:#ff3b3b4d}.reset-button:active{transform:scale(.98)}.save-button{background:#14b8a61a;color:#14b8a6;border:1px solid rgba(20,184,166,.2)}.save-button:hover{background:#14b8a626;border-color:#14b8a64d}:root[class~=light-mode] .save-button{background:#0bc7b71a;color:#12b6a8;border-color:#00e4d14d}:root[class~=light-mode] .save-button:hover{background:#149e9326;border-color:#07b4a666}.action-button svg{transition:transform .2s ease}.decrypted-text-revealed{color:#fff;transition:color .3s ease}.decrypted-text-encrypted{color:#14b8a6;transition:color .3s ease}.occurrence-session:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.course-block .activity-type{font-size:.65rem;margin:0;background:#14b8a626;color:#14b8a6;padding:.15rem .35rem;border-radius:3px;font-weight:500;display:inline-flex;align-items:center;justify-content:center;min-width:fit-content;height:18px;line-height:1;box-sizing:border-box}.occurrence-time .activity-type{display:inline-block;background:#14b8a61a;color:#14b8a6;padding:.15rem .4rem;border-radius:3px;font-size:.75rem;font-weight:600;margin-left:.5rem}.loading-message,.no-results{padding:15px;text-align:center;color:#94a3b8;font-size:.9rem}.loading-message{display:flex;align-items:center;justify-content:center;min-height:60px}.lecturer-list{display:flex;flex-direction:column;gap:4px}.lecturer-item{padding-left:20px;font-size:.9em;color:#94a3b8}.lecturer-line{font-size:.9em;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.course-details .detail-row{display:flex;align-items:flex-start;gap:8px;margin-bottom:4px}.course-details .detail-text{display:flex;flex-direction:column;gap:2px}.incomplete-details{color:#fff;font-size:.85rem;font-style:italic;font-weight:500}.modal-overlay,.confirm-dialog-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#030712cc;display:flex;align-items:center;justify-content:center;z-index:1000;opacity:1;transition:opacity .2s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-overlay.modal-closing,.confirm-dialog-overlay.dialog-closing{opacity:0}.warning-modal,.confirm-dialog{background:#030712;border-radius:12px;padding:1.5rem;max-width:500px;width:90%;border:1px solid rgba(20,184,166,.2);box-shadow:0 8px 16px #0003;transform:translateY(0);opacity:1;transition:all .2s ease}.warning-modal.warning-modal-closing,.confirm-dialog.dialog-closing{transform:translateY(20px);opacity:0}.warning-header,.confirm-dialog-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid rgba(20,184,166,.2)}.warning-icon{color:#14b8a6;font-size:1.5rem}.warning-title,.confirm-dialog-title{color:#fff;font-size:1.1rem;font-weight:600;margin:0}.warning-content,.confirm-dialog-content{color:#94a3b8;font-size:.9rem;line-height:1.5;margin-bottom:1.5rem}.conflict-days{background:#14b8a614;border:1px solid rgba(20,184,166,.2);border-radius:8px;padding:.75rem;margin:.75rem 0;color:#fff;font-size:.9rem}.warning-actions,.confirm-dialog-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1rem}.warning-button,.confirm-dialog-button{padding:.5rem 1rem;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;border:1px solid;display:flex;align-items:center;gap:.5rem}.warning-button.primary,.confirm-dialog-button.confirm{background:#ef44441a;color:#ef4444;border-color:#ef444433}.warning-button.primary:hover,.confirm-dialog-button.confirm:hover{background:#ef444426;border-color:#ef44444d}.warning-button.secondary,.confirm-dialog-button.cancel{background:#14b8a61a;color:#14b8a6;border-color:#14b8a633}.warning-button.secondary:hover,.confirm-dialog-button.cancel:hover{background:#14b8a626;border-color:#14b8a64d}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.confirm-dialog-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid rgba(20,184,166,.2)}.confirm-dialog-title{color:#fff;font-size:1.1rem;font-weight:600;margin:0}.confirm-dialog-content{color:#94a3b8;font-size:.9rem;line-height:1.5;margin-bottom:1.5rem}.confirm-dialog-actions{display:flex;justify-content:flex-end;gap:.75rem}.confirm-dialog-button{padding:.5rem 1rem;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease;border:1px solid}.confirm-dialog-button.cancel{background:transparent;color:#94a3b8;border-color:#94a3b833}.confirm-dialog-button.cancel:hover{background:#94a3b81a;border-color:#94a3b84d}.confirm-dialog-button.confirm{background:#ef44441a;color:#ef4444;border-color:#ef444433}.confirm-dialog-button.confirm:hover{background:#ef444426;border-color:#ef44444d}@media (max-width: 1200px){.timetable-layout::-webkit-scrollbar{height:6px;width:6px}.timetable-layout::-webkit-scrollbar-track{background:transparent}.timetable-layout::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:3px}.timetable-layout::-webkit-scrollbar-thumb:hover{background:#fff3}.timetable-layout{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.1) transparent}}.timetable-grid-wrapper::-webkit-scrollbar{height:6px}.timetable-grid-wrapper::-webkit-scrollbar-track{background:transparent}.timetable-grid-wrapper::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:3px}.timetable-grid-wrapper::-webkit-scrollbar-thumb:hover{background:#fff3}.timetable-grid-wrapper{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.1) transparent}:root[class~=light-mode] .timetable-container{color:#1f2937}:root[class~=light-mode] .timetable-grid{background:#fff;border-color:#14b8a633;box-shadow:0 4px 6px -1px #0000000d}:root[class~=light-mode] .grid-content{background:#fff;border-color:#14b8a6cc}:root[class~=light-mode] .day-header{color:#1f2937;background:#fff}:root[class~=light-mode] .time-column{background:#fff}:root[class~=light-mode] .course-item{background:#f8fafc;border:1px solid rgba(20,184,166,.2);box-shadow:none}:root[class~=light-mode] .course-item:hover{background:#14b8a60d;border-color:#14b8a666}:root[class~=light-mode] .course-header h3{color:#1f2937}:root[class~=light-mode] .search-bar{background:#f8fafc;border:1px solid rgba(20,184,166,.2)}:root[class~=light-mode] .search-icon{color:#000}:root[class~=light-mode] .search-bar input{color:#1f2937}:root[class~=light-mode] .search-bar input::placeholder{color:#1f293780}:root[class~=light-mode] .search-results{background:#fff;border-color:#14b8a61a}:root[class~=light-mode] .search-result-item:hover{background:#14b8a614}:root[class~=light-mode] .course-panel{background:#fff;border-color:#14b8a633;box-shadow:0 4px 6px -1px #0000000d}:root[class~=light-mode] .course-block .detail-text{color:#64748b}:root[class~=light-mode] .course-block .detail-icon{color:#14b8a6}:root[class~=light-mode] .expand-icon{color:#000}:root[class~=light-mode] .day-column{border-color:#14b8a6b3}:root[class~=light-mode] .course-block .course-code{color:#0f172a;font-weight:600}:root[class~=light-mode] .course-block .course-name{color:#00756880;font-weight:600}:root[class~=light-mode] .course-block .occ-tag{background:#0f766e26;color:#0f766e;font-weight:600}:root[class~=light-mode] .course-block .activity-type{background:#0f766e26;color:#0f766e;font-weight:600}:root[class~=light-mode] .course-block .detail-row{color:#374151}:root[class~=light-mode] .course-block .detail-icon{color:#475569}:root[class~=light-mode] .course-block .detail-text{color:#374151}:root[class~=light-mode] .occurrence-item{background:#fff;border:1px solid rgba(20,184,166,.2)}:root[class~=light-mode] .occurrence-session{border-bottom:1px solid rgba(0,0,0,.06)}:root[class~=light-mode] .occurrence-time{color:#1f2937}:root[class~=light-mode] .occurrence-time svg{color:#475569}:root[class~=light-mode] .activity-type{background:#14b8a61a;color:#0f766e;border:1px solid rgba(20,184,166,.2)}:root[class~=light-mode] .occurrence-details .detail-row{color:#475569}:root[class~=light-mode] .occurrence-details .detail-row svg{color:#64748b}:root[class~=light-mode] .occurrence-details .detail-text{color:#475569}:root[class~=light-mode] .occurrence-number span{background:#14b8a61a;color:#0f766e;border-color:#14b8a633}:root[class~=light-mode] .occurrence-number .activity-type{background:#14b8a61a;color:#0f766e;border-color:#14b8a633}:root[class~=light-mode] .incomplete-details{color:#6b7280}:root[class~=light-mode] .days-header{background:#fff}:root[class~=light-mode] .day-header{background:#fff;color:#1f2937}:root[class~=light-mode] .time-label{color:#1f2937cc;font-weight:500}:root[class~=light-mode] .horizontal-line{border-color:#14b8a6b3;border-bottom-width:1.5px}:root[class~=light-mode] .day-column{border-right:1.5px solid rgba(20,184,166,.7)}:root[class~=light-mode] .grid-content{background:#fff;border:1.5px solid rgba(20,184,166,.8)}:root[class~=light-mode] .day-column:last-child{border-right:none}.menu-button{display:none;background:transparent;border:1px solid rgba(20,184,166,.2);color:#14b8a6;padding:.5rem;border-radius:8px;cursor:pointer;transition:all .2s ease;margin-right:1rem}.menu-button:hover{background:#14b8a61a;border-color:#14b8a666}@media (max-width: 768px){.menu-button{display:flex;align-items:center;justify-content:center}}.gpa-calculator{padding:0;height:100%;display:flex;flex-direction:column;color:#fff;overflow-y:auto;min-height:100vh;position:relative}.gpa-header{margin-bottom:2rem;display:flex;align-items:center;justify-content:space-between}.title-section{display:flex;align-items:center;gap:1rem}.gpa-header h1{font-size:1.5rem;font-weight:600;margin:0;color:#fff;cursor:default}.gpa-header .decrypted{color:#fff;transition:color .2s ease}.gpa-header .encrypted{color:#14b8a6;transition:color .2s ease}:root[class~=light-mode] .gpa-header .decrypted{color:#1f2937}:root[class~=light-mode] .gpa-header .encrypted{color:#14b8a6}.gpa-layout{display:grid;grid-template-columns:300px 1fr;gap:2rem;flex:1;margin-bottom:2rem;height:calc(100% - 4rem);min-height:min-content}.grade-reference{background:linear-gradient(180deg,#030712b3,#03071280);border:1px solid rgba(20,184,166,.2);border-radius:12px;padding:1.5rem;height:calc(100vh - 13.15rem);min-height:min-content;overflow:auto;box-shadow:0 4px 6px -1px #0000000d}.grade-reference h2{font-size:1.1rem;margin:0 0 1.25rem;color:#14b8a6;display:flex;align-items:center;gap:.5rem;padding-bottom:.75rem;border-bottom:.5px solid #09463f;letter-spacing:.02em;position:relative}.grade-reference h2:after{display:none}.grade-table{width:100%;border-collapse:separate;border-spacing:0}.grade-table th,.grade-table td{padding:.75rem;text-align:center;transition:all .2s ease}.grade-table th:first-child,.grade-table td:first-child{text-align:left;padding-left:1rem}.grade-table th{font-weight:600;color:#14b8a6;font-size:.85rem;text-transform:uppercase;letter-spacing:.05em;padding:.75rem;background:#14b8a626;position:sticky;top:0;z-index:1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 2px 4px #0000001a}.grade-table th:first-child{border-top-left-radius:1px;border-bottom-left-radius:1px}.grade-table th:last-child{border-top-right-radius:1px;border-bottom-right-radius:1px}.grade-table td{font-size:.9rem;color:#fff;border-bottom:1px solid rgba(20,184,166,.1);position:relative}.grade-table tr{transition:transform .2s ease,background-color .2s ease}.grade-table tr:last-child td{border-bottom:none}.grade-table tr:hover{transform:translate(4px)}.grade-table tr:hover td{background:#14b8a614}.grade-table td:first-child{font-weight:600;color:#14b8a6;font-size:1rem;letter-spacing:.02em}.grade-table td:nth-child(2){font-family:JetBrains Mono,monospace;letter-spacing:.05em;color:#ffffffe6}.grade-table td:last-child{font-weight:500;color:#ffffffe6;background:#14b8a60d}:root[class~=light-mode] .grade-reference{background:linear-gradient(180deg,#fffffff2,#fff);box-shadow:0 4px 6px -1px #0000000d}.grade-reference::-webkit-scrollbar{width:6px}.grade-reference::-webkit-scrollbar-track{background:transparent;border-radius:3px;margin:.5rem}.grade-reference::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#14b8a64d,#14b8a633);border-radius:3px;border:none}.grade-reference::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#14b8a666,#14b8a64d)}.grade-reference{scrollbar-width:thin;scrollbar-color:rgba(20,184,166,.2) transparent}.calculator-section{display:flex;flex-direction:column;gap:1.5rem;height:calc(100vh - 13rem);min-height:min-content}.subjects-input{background:#03071280;border:1px solid rgba(20,184,166,.2);border-radius:12px;padding:0 1.5rem 1.5rem;height:calc(100% - 8.5rem);overflow:auto;position:relative;box-shadow:0 4px 6px -1px #0000000d}.subjects-table{width:100%;border-collapse:collapse}.subjects-table th,.subjects-table td{padding:.75rem;text-align:left;border-bottom:1px solid rgba(20,184,166,.1)}.subjects-table thead{position:sticky;top:0;z-index:2;background:#030712b3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.subjects-table th{font-weight:600;color:#14b8a6;font-size:.9rem;letter-spacing:.05em;text-transform:uppercase;padding:1rem .75rem;background:#030712b3;border-bottom:1px solid rgba(20,184,166,.2)}.subjects-table td{padding-top:.875rem;padding-bottom:.875rem;font-size:.9rem;vertical-align:middle;background:#03071280}.subjects-table td:first-child{color:#14b8a6;font-weight:500;font-size:.9rem;letter-spacing:.02em;opacity:.8}.subjects-table input,.subjects-table select{width:100%;padding:.75rem;border:1px solid rgba(20,184,166,.2);border-radius:8px;background:#030712b3;color:#fff;font-size:.9rem;font-weight:500;transition:all .2s ease;-webkit-appearance:none;-moz-appearance:none;appearance:none}.subjects-table select{width:100%;padding:.75rem 2.5rem .75rem .75rem;border:1px solid rgba(20,184,166,.2);border-radius:8px;background:#030712b3;color:#fff;font-size:.9rem;font-weight:500;transition:all .2s ease;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2314b8a6' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;background-size:1rem}.subjects-table select:hover{background-color:#030712e6;border-color:#14b8a666}.subjects-table select:focus{outline:none;border-color:#14b8a6;box-shadow:0 0 0 3px #14b8a626;background-color:#030712e6}.subjects-table select option{background-color:#030712f2;color:#fff;padding:12px;font-size:.9rem;font-weight:500}.subjects-table select option:hover,.subjects-table select option:focus,.subjects-table select option:active,.subjects-table select option:checked{background-color:#14b8a633;color:#14b8a6}:root[class~=light-mode] .subjects-table select{background-color:#fff;color:#1f2937}:root[class~=light-mode] .subjects-table select:hover{background-color:#f8fafc}:root[class~=light-mode] .subjects-table select:focus{background-color:#fff}:root[class~=light-mode] .subjects-table select option{background-color:#fff;color:#1f2937}:root[class~=light-mode] .subjects-table select option:hover,:root[class~=light-mode] .subjects-table select option:focus,:root[class~=light-mode] .subjects-table select option:active,:root[class~=light-mode] .subjects-table select option:checked{background-color:#14b8a61a;color:#14b8a6}.subjects-table input{width:100%;padding:.75rem;border:1px solid rgba(20,184,166,.2);border-radius:8px;background:#030712b3;color:#fff;font-size:.9rem;font-weight:500;transition:all .2s ease}.subjects-table input:hover{background-color:#030712e6;border-color:#14b8a666}.subjects-table input:focus{outline:none;border-color:#14b8a6;box-shadow:0 0 0 3px #14b8a626;background-color:#030712e6}:root[class~=light-mode] .subjects-table input{background-color:#fff;color:#1f2937}:root[class~=light-mode] .subjects-table input:hover{background-color:#f8fafc}:root[class~=light-mode] .subjects-table input:focus{background-color:#fff}.subjects-table input::placeholder{color:#ffffff4d}.subjects-table tr{transition:all .2s ease}.subjects-table tr:hover{background:#14b8a60d}.subjects-table tr:hover td:first-child{color:#14b8a6;opacity:1}.results-dashboard{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;height:8.35rem}.result-card{background:#03071280;border:1px solid rgba(20,184,166,.2);border-radius:12px;padding:1.25rem;text-align:center;display:flex;flex-direction:column;justify-content:center;transition:all .2s ease;box-shadow:0 4px 6px -1px #0000000d}.result-card:hover{transform:translateY(-2px);box-shadow:0 6px 8px -1px #00000014;border-color:#14b8a666}.result-card h3{font-size:.85rem;color:#14b8a6;margin:0 0 .5rem;text-transform:uppercase;letter-spacing:.05em}.result-value{font-size:1.75rem;font-weight:600;color:#fff;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.action-button{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;background:transparent;border:1px solid rgba(20,184,166,.2);color:#14b8a6}.action-button:hover{background:#14b8a61a}.reset-button{background:#dc26261a;border-color:#dc262633;color:#ef4444}.reset-button:hover{background:#dc262633}:root[class~=light-mode] .gpa-header h1{color:#1f2937}:root[class~=light-mode] .grade-reference,:root[class~=light-mode] .subjects-input,:root[class~=light-mode] .result-card{background:#fff;border-color:#14b8a633}:root[class~=light-mode] .grade-table td,:root[class~=light-mode] .subjects-table input,:root[class~=light-mode] .subjects-table select{color:#1f2937}:root[class~=light-mode] .subjects-table input,:root[class~=light-mode] .subjects-table select{background:#fff}@media (max-width: 1366px){.gpa-layout{grid-template-columns:250px 1fr;gap:1.5rem}}@media (max-width: 768px){.gpa-header{margin-bottom:1.5rem}.gpa-layout{grid-template-columns:1fr;margin-bottom:1.5rem;height:auto;min-height:min-content}.results-dashboard{grid-template-columns:1fr}.gpa-calculator{height:auto;min-height:100vh}.grade-reference,.calculator-section{height:auto;min-height:min-content}}.grade-reference::-webkit-scrollbar,.subjects-input::-webkit-scrollbar{width:6px}.grade-reference::-webkit-scrollbar-track,.subjects-input::-webkit-scrollbar-track{background:transparent;border-radius:3px}.grade-reference::-webkit-scrollbar-thumb,.subjects-input::-webkit-scrollbar-thumb{background-color:#ffffff1a;border-radius:3px;border:none}.grade-reference::-webkit-scrollbar-thumb:hover,.subjects-input::-webkit-scrollbar-thumb:hover{background-color:#fff3}.grade-reference,.subjects-input{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.1) transparent}.subjects-table input[type=number]{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.subjects-table input[type=number]::-webkit-outer-spin-button,.subjects-table input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.subjects-table input{width:100%;padding:.75rem;border:1px solid rgba(20,184,166,.2);border-radius:8px;background:#030712b3;color:#fff;font-size:.9rem;font-weight:500;transition:all .2s ease;text-align:left}:root[class~=light-mode] .subjects-table thead{background:#fffffff2}:root[class~=light-mode] .subjects-table th{background:#fffffff2}:root[class~=light-mode] .gpa-calculator{color:#1f2937}:root[class~=light-mode] .grade-reference{background:linear-gradient(180deg,#fffffff2,#fff);border-color:#14b8a633}:root[class~=light-mode] .grade-table td{color:#1f2937}:root[class~=light-mode] .grade-table td:first-child{color:#14b8a6}:root[class~=light-mode] .grade-table td:nth-child(2){color:#1f2937e6}:root[class~=light-mode] .grade-table td:last-child{color:#1f2937e6;background:#14b8a60d}:root[class~=light-mode] .grade-table tr:hover td{background:#14b8a614}:root[class~=light-mode] .subjects-table input::placeholder{color:#000}:root[class~=light-mode] .subjects-input{background:#fff;border-color:#14b8a633;box-shadow:0 4px 6px -1px #0000000d}:root[class~=light-mode] .subjects-table th{background:#fffffff2;color:#14b8a6}:root[class~=light-mode] .subjects-table td{background:#fffffff2;color:#1f2937}:root[class~=light-mode] .subjects-table input,:root[class~=light-mode] .subjects-table select{background:#fff;color:#1f2937;border-color:#14b8a633}:root[class~=light-mode] .subjects-table input:hover,:root[class~=light-mode] .subjects-table select:hover{background:#f8fafc;border-color:#14b8a666}:root[class~=light-mode] .subjects-table input:focus,:root[class~=light-mode] .subjects-table select:focus{background:#fff;border-color:#14b8a6}:root[class~=light-mode] .result-card{background:#fff;border-color:#14b8a633;box-shadow:0 4px 6px -1px #0000000d}:root[class~=light-mode] .result-card:hover{box-shadow:0 6px 8px -1px #00000014}:root[class~=light-mode] .result-value{color:#1f2937}.app{min-height:100vh;background-color:#030712;color:#fff;display:flex}:root[class~=light-mode] .app{background-color:#fff;color:#1f2937}.background-squares{position:fixed;top:0;left:0;width:100%;height:100%;z-index:0}.main-content{flex-grow:1;margin-left:300px;position:relative;z-index:1;height:100vh;overflow:hidden;padding:3.5rem 3rem 3rem 2rem;right:.1rem;display:flex;flex-direction:column;transition:margin-left .3s ease}:root[class~=light-mode] .main-content{background-color:#fff}.main-content.sidebar-collapsed{margin-left:0}.theme-toggle-button{background:#14b8a61a;color:#14b8a6;border:1px solid rgba(20,184,166,.2);display:flex;align-items:center;gap:.5rem}.theme-toggle-button:hover{background:#14b8a626;border-color:#14b8a64d}:root[class~=light-mode] .theme-toggle-button{background:#14b8a61a;color:#14b8a6}:root[class~=light-mode] .theme-toggle-button:hover{background:#14b8a626}@media (max-width: 1366px){.main-content{padding:2.5rem 2rem 2rem 1.5rem}}@media (max-width: 1024px){.main-content{padding:2rem 1.5rem 1.5rem 1rem}}@media (max-width: 768px){.main-content{padding:1.5rem 1rem 1rem;margin-left:0}}.timetable-container{padding:0;height:100%;display:flex;flex-direction:column}.timetable-header{margin-bottom:2rem}.timetable-layout{flex:1;margin-bottom:8.8rem}@media (max-width: 768px){.timetable-header{margin-bottom:1.5rem}.timetable-layout{margin-bottom:6rem}}
