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}.register-page{background-color:#0f0f0f;box-sizing:border-box;height:100vh;justify-content:space-between;left:0;padding:0 60px;position:fixed;top:0;width:100vw}.register-form-container,.register-page{align-items:center;display:flex;overflow:hidden}.register-form-container{backdrop-filter:blur(50px);-webkit-backdrop-filter:blur(50px);background:linear-gradient(-53.09701612693482deg,#bfbfbf26 5.9849%,#0000 66.277%),linear-gradient(90deg,#0003,#0003);border:1px solid #ffffff40;border-radius:20px;flex-direction:column;gap:30px;height:80vh;justify-content:center;padding:40px;position:relative;transition:all .8s cubic-bezier(.4,0,.2,1);width:480px;z-index:2}.register-form-content{display:flex;flex-direction:column;gap:24px;width:100%}.register-text-header{display:flex;flex-direction:column;gap:8px}.register-title{color:#fff;font-size:40px;font-weight:600;line-height:49px}.register-subtitle,.register-title{font-family:Noto Sans,sans-serif;margin:0}.register-subtitle{color:#a0a0a0;font-size:14px;font-weight:400;line-height:17px}.study-level-select{background:#0003;border:1px solid #fff;border-radius:12px;box-sizing:border-box;color:#fff;cursor:pointer;font-family:Noto Sans,sans-serif;font-size:16px;font-weight:400;outline:none;padding:13px 16px;transition:all .3s ease;width:100%}.study-level-select:focus{background:#0000004d;border-color:#6366f1}.study-level-select option{background:#1a1a1a;color:#fff}.study-level-select option[value=""]{color:#a0a0a0}.password-fields-container{display:flex;flex-direction:column;gap:12px}.password-field-wrapper{align-items:center;display:flex;position:relative}.password-field-wrapper .input-field{padding-right:40px;width:100%}.eye-icon{right:12px}.password-requirements{animation:slideDown .3s ease-out;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;margin-top:-15px;opacity:1;padding:12px 16px;transform:translateY(0)}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.requirements-title{color:#fff;font-family:Noto Sans,sans-serif;font-size:14px;font-weight:600;margin:0 0 8px}.requirements-list{display:flex;flex-direction:column;gap:6px;list-style:none;margin:0;padding:0}.requirements-list li{align-items:center;color:#a0a0a0;display:flex;font-family:Noto Sans,sans-serif;font-size:13px;gap:8px;transition:color .2s ease}.requirements-list li.valid{color:#10b981}.requirements-list li.invalid{color:#a0a0a0}.signup-button{background:linear-gradient(90deg,#2e4cee,#221ebf 50%,#040f75);border:none;border-radius:12px;color:#fff;cursor:pointer;font-family:Noto Sans,sans-serif;font-size:16px;font-weight:600;margin-top:8px;padding:13px;transition:all .3s ease;width:100%}.signup-button:hover:not(:disabled){box-shadow:0 8px 16px #6366f14d;opacity:.9;transform:translateY(-2px)}.signup-button:disabled{cursor:not-allowed;opacity:.6}.signup-button-text{font-size:16px;margin:0}.login-link{background:none;border:none;color:#fff;cursor:pointer;font-family:Noto Sans,sans-serif;font-size:16px;font-weight:500;padding:0;text-decoration:none;transition:opacity .3s ease}.login-link:hover{opacity:.8}@media (max-width:1024px){.login-page{padding:0 20px}.welcome-title{font-size:64px}.register-form-container{max-width:480px;width:100%}}@media (max-width:768px){.register-page{flex-direction:column;justify-content:flex-start;padding:20px}.welcome-section{margin-bottom:30px}.welcome-title{font-size:48px}.register-form-container{max-width:480px;width:100%}}.login-page{align-items:center;background-color:#0f0f0f;box-sizing:border-box;display:flex;height:100vh;justify-content:space-between;left:0;overflow:hidden;padding:0 60px;position:fixed;top:0;width:100vw}.skip-lag-button{align-items:center;background:#0000;border:4px solid #fff;cursor:pointer;display:inline-flex;padding:14px 24px;transition:all .3s ease}.skip-lag-button:hover{background:#ffffff1a;transform:translateX(5px)}.line-decoration{height:2px;left:330px;position:absolute;top:550px;width:561px;z-index:1}.login-form-container{align-items:center;backdrop-filter:blur(50px);-webkit-backdrop-filter:blur(50px);background:linear-gradient(-53.09701612693482deg,#bfbfbf26 5.9849%,#0000 66.277%),linear-gradient(90deg,#0003,#0003);border:1px solid #ffffff40;border-radius:20px;display:flex;flex-direction:column;gap:30px;height:80vh;justify-content:center;overflow-y:auto;padding:40px;position:relative;transition:all .8s cubic-bezier(.4,0,.2,1);width:480px;z-index:2}.login-form-content{display:flex;flex-direction:column;gap:24px;width:100%}.login-text-header{color:#fff;display:flex;flex-direction:column}.login-title{font-size:36px;font-weight:600;margin:0}.login-subtitle,.login-title{font-family:Noto Sans,sans-serif}.login-subtitle{font-size:16px;font-weight:500;margin-bottom:0;margin-top:2px}.credentials-section{gap:25px}.input-field{background:#0000;font-size:20px;padding:14px 16px}.input-field::placeholder{color:#fff;opacity:.7}.input-field:focus{border-color:#fff;box-shadow:0 0 0 2px #fff3;outline:none}.password-field-container{position:relative;width:100%}.eye-icon{align-items:center;color:grey;cursor:pointer;display:flex;height:18px;justify-content:center;position:absolute;right:16px;top:50%;transform:translateY(-50%);transition:color .3s ease;width:18px}.eye-icon:hover{color:#fff}.eye-icon svg{height:20px;width:20px}.password-remember-section{display:flex;flex-direction:column;gap:12px}.remember-checkbox{align-items:center;cursor:pointer;display:flex;gap:4px}.remember-checkbox input[type=checkbox]{accent-color:#ffb800;cursor:pointer;height:18px;width:18px}.checkbox-icon{height:18px;width:18px}.remember-text{color:#fff;font-family:Noto Sans,sans-serif;font-size:16px;font-weight:500;margin:0}.login-actions{align-items:center;display:flex;flex-direction:column;gap:20px}.login-button{background:linear-gradient(135deg,#ffb800,#ffd36e);border:none;border-radius:12px;cursor:pointer;padding:13px;transition:all .3s ease;width:100%}.login-button:hover{background:linear-gradient(135deg,#ffd36e,#ffe89e);box-shadow:0 8px 16px #ffb80066;transform:translateY(-2px)}.login-button-text{color:#000;font-family:Noto Sans,sans-serif;font-size:20px;font-weight:600;margin:0}.forgot-password-link{background:none;border:none;color:#fff;cursor:pointer;font-family:Noto Sans,sans-serif;font-size:16px;font-weight:500;padding:0;text-decoration:none;transition:opacity .3s ease}.forgot-password-link:hover{opacity:.8}.other-logins-section{align-items:center;display:flex;flex-direction:column;gap:12px}.divider-container{align-items:center;display:flex;gap:20px;width:100%}.divider-line{background:#4d4d4d;flex:1 1;height:1px}.divider-text{color:#4d4d4d;font-family:Noto Sans,sans-serif;font-size:16px;font-weight:500}.social-login-buttons{align-items:center;display:flex;gap:18px;justify-content:center}.social-icon-button{background:#0000;border:none;cursor:pointer;height:42px;padding:0;transition:transform .3s ease;width:42px}.social-icon-button:hover{transform:scale(1.1)}.social-icon{display:block;height:100%;width:100%}.footer-links{align-items:center;background:#0000;border-radius:6px;display:flex;justify-content:space-between;padding:4px 6px;width:100%}.footer-link{background:none;border:none;color:#fff;cursor:pointer;font-family:Noto Sans,sans-serif;font-size:16px;font-weight:400;padding:0;text-decoration:none;transition:opacity .3s ease}.footer-link:hover{opacity:.8}.message-alert{box-sizing:border-box}.message-alert .MuiAlert-message{width:100%}.loading-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}@media (max-width:1400px){.welcome-title{font-size:72px}.skip-lag-text{font-size:24px}.ellipse-decoration-1,.ellipse-decoration-2,.line-decoration{opacity:.5}}@media (max-width:1200px){.login-page{padding:40px}.welcome-section{display:none}.login-page{justify-content:center}}@media (max-width:600px){.login-page{padding:20px}.login-form-container{height:auto;max-width:480px;padding:60px 30px;width:100%}}.forgot-password-page{align-items:center;background-color:#0f0f0f;box-sizing:border-box;display:flex;height:100vh;justify-content:space-between;left:0;overflow:hidden;padding:0 60px;position:fixed;top:0;width:100vw}.welcome-section{flex:1 1;z-index:2}.welcome-title{color:#fff;font-family:Noto Sans,sans-serif;font-size:96px;font-weight:600;line-height:normal;margin-bottom:30px}.skip-lag-quote{align-items:center;background:#0000;border:none;cursor:pointer;display:inline-flex;padding:0;transition:all .3s ease}.skip-lag-quote:hover{opacity:.8}.skip-lag-text{color:#fff;font-family:Noto Sans,sans-serif;font-size:18px;font-style:italic;font-weight:600;margin:0}.ellipse-decoration-1{height:302px;left:749px;position:absolute;top:81px;width:302px;z-index:1}.ellipse-decoration-2{bottom:150px;height:220px;position:absolute;right:200px;transform:rotate(331.5deg);width:220px;z-index:1}.forgot-password-form-container{align-items:center;backdrop-filter:blur(50px);-webkit-backdrop-filter:blur(50px);background:linear-gradient(-53.09701612693482deg,#bfbfbf26 5.9849%,#0000 66.277%),linear-gradient(90deg,#0003,#0003);border:1px solid #ffffff40;border-radius:20px;display:flex;flex-direction:column;gap:30px;height:80vh;justify-content:center;overflow:hidden;padding:40px;position:relative;transition:all .8s cubic-bezier(.4,0,.2,1);width:480px;z-index:2}.forgot-password-form-content{display:flex;flex-direction:column;gap:24px;width:100%}.upper-section{display:flex;flex-direction:column;gap:14px}.forgot-password-text-header{display:flex;flex-direction:column;gap:8px}.forgot-password-title{color:#fff;font-family:Noto Sans,sans-serif;font-size:40px;font-weight:600;line-height:49px;margin:0}.forgot-password-subtitle{color:#a0a0a0;font-family:Noto Sans,sans-serif;font-size:14px;font-weight:400;line-height:17px;margin:0}.credentials-section{display:flex;flex-direction:column;gap:12px;width:100%}.input-field{background:#0003;border:1px solid #fff;border-radius:12px;box-sizing:border-box;color:#fff;font-family:Noto Sans,sans-serif;font-size:16px;font-weight:400;outline:none;padding:13px 16px;transition:all .3s ease;width:100%}.input-field::placeholder{color:#a0a0a0}.input-field:focus{background:#0000004d;border-color:#6366f1}.reset-password-button{background:linear-gradient(90deg,#e948c5,#cd407b 50%,#75042d);border:none;border-radius:12px;color:#fff;cursor:pointer;font-family:Noto Sans,sans-serif;font-size:16px;font-weight:600;margin-top:8px;padding:13px;transition:all .3s ease;width:100%}.reset-password-button:hover:not(:disabled){box-shadow:0 8px 16px #e948c54d;opacity:.9;transform:translateY(-2px)}.reset-password-button:disabled{cursor:not-allowed;opacity:.6}.reset-password-button-text{color:#fff;font-family:Noto Sans,sans-serif;font-size:16px;font-weight:600;margin:0}.bottom-section{align-items:center;display:flex;flex-direction:column;gap:8px;width:100%}.signup-link{background:none;border:none;color:#fff;cursor:pointer;font-family:Noto Sans,sans-serif;font-size:16px;font-weight:500;padding:0;text-decoration:none;transition:opacity .3s ease}.signup-link:hover{opacity:.8}.message-alert{border-radius:12px;margin-bottom:16px;width:100%}.loading-overlay{align-items:center;background:#00000080;border-radius:20px;bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:10}@media (max-width:1024px){.forgot-password-page{padding:0 20px}.welcome-title{font-size:64px}.forgot-password-form-container{max-width:480px;width:100%}}@media (max-width:768px){.forgot-password-page{flex-direction:column;justify-content:flex-start;padding:20px}.welcome-section{margin-bottom:30px}.welcome-title{font-size:48px}.forgot-password-form-container{max-width:480px;width:100%}}.dashboard-container{background-color:#191919;display:flex;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;min-height:100vh}.dashboard-drawer{flex-shrink:0;width:240px}.dashboard-drawer.closed{width:0}.dashboard-drawer-paper{background-color:#1e1e1e;border-right:1px solid #3a3a3a;box-shadow:2px 0 12px #00000080;box-sizing:border-box;padding-top:8px;width:240px}.dashboard-user-profile{background:linear-gradient(135deg,#ffb8000d,#ffb80003);border-bottom:1px solid #3a3a3a;margin-bottom:6px;padding:8px 10px}.dashboard-user-info{align-items:center;display:flex;gap:8px}.dashboard-user-avatar{background:linear-gradient(135deg,#ffb800,#ffd36e);box-shadow:0 2px 8px #ffb8004d;color:#000;font-family:Segoe UI,sans-serif;font-size:.875rem;font-weight:700;height:32px;width:32px}.dashboard-user-details{flex:1 1;min-width:0;overflow:hidden}.dashboard-user-name{color:#fff;font-size:.8125rem;font-weight:600}.dashboard-user-email,.dashboard-user-name{font-family:Segoe UI,sans-serif;line-height:1.3;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-user-email{color:#999;font-size:.6875rem}.dashboard-nav-list{padding:12px 8px}.dashboard-nav-item{border-radius:6px;margin-bottom:4px;min-height:40px;padding:10px 12px;position:relative;transition:all .2s ease}.dashboard-nav-item:hover{background:linear-gradient(135deg,#ffb80014,#ffb8000d);transform:translateX(2px)}.dashboard-nav-item.active{background:linear-gradient(135deg,#ffb80026,#ffb8001a);box-shadow:inset 3px 0 0 #ffb800}.dashboard-nav-icon{color:#b0b0b0!important;font-size:18px;min-width:36px;transition:all .2s ease}.dashboard-nav-item.active .dashboard-nav-icon{color:#ffb800!important;transform:scale(1.1)}.dashboard-nav-text{color:#d0d0d0;font-family:Segoe UI,sans-serif;font-size:.8125rem;font-weight:500;padding-left:4px}.dashboard-logout-section{border-top:1px solid #3a3a3a;margin-top:auto;padding:8px 6px}.dashboard-logout-button{border-color:#ff6b6b4d;border-radius:6px;color:#ff6b6b;font-family:Segoe UI,sans-serif;font-size:.75rem;font-weight:500;min-height:32px;padding:6px 10px;text-transform:none;transition:all .2s ease;width:100%}.dashboard-logout-button:hover{background-color:#ff6b6b1a;border-color:#ff6b6b;transform:translateY(-1px)}.dashboard-main{background-color:#191919;flex-grow:1;font-family:Segoe UI,sans-serif;overflow-y:auto;padding:16px 24px;transition:width .3s ease;width:calc(100% - 240px)}.dashboard-main.expanded{width:100%}.dashboard-menu-button{background:linear-gradient(135deg,#ffb800,#ffd36e);border:none;border-radius:0 6px 6px 0;box-shadow:none;color:#000;height:32px;left:240px;padding:0;position:fixed;top:16px;transition:all .3s cubic-bezier(.4,0,.2,1);width:32px;z-index:1300}.dashboard-menu-button:hover{background:linear-gradient(135deg,#ffd36e,#ffe89e);width:36px}.dashboard-menu-button.sidebar-open{left:240px}.dashboard-menu-button:not(.sidebar-open){border-radius:0 6px 6px 0;left:0}.dashboard-menu-icon{font-size:18px;font-weight:700}.dashboard-overview{margin-bottom:12px;margin-top:12px;padding-left:0}.dashboard-title{color:#fff;font-family:Segoe UI,sans-serif;font-size:1.5rem;font-weight:700;margin-bottom:4px}.dashboard-welcome{color:#b0b0b0;font-family:Segoe UI,sans-serif;font-size:.875rem;font-weight:400;margin-bottom:24px}.gmail-section{font-family:Segoe UI,sans-serif;margin-bottom:32px}.gmail-header-container{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.gmail-section-title{color:#e5e5e5;font-family:Segoe UI,sans-serif;font-size:1rem;font-weight:600}.gmail-card{background-color:#1a1a1a!important;border:1px solid #2a2a2a!important;border-radius:8px;box-shadow:none!important;padding:16px}.gmail-card-content{padding:0}.gmail-header{align-items:flex-start;display:flex;margin-bottom:12px}.gmail-icon{color:#ea4335;flex-shrink:0;font-size:32px;margin-right:12px}.gmail-info{flex:1 1}.gmail-label{color:#fff;font-family:Segoe UI,sans-serif;font-size:.9375rem;font-weight:600;margin-bottom:6px}.gmail-description{color:#b0b0b0;font-size:.8125rem;line-height:1.5}.gmail-status{align-items:center;display:flex;gap:12px}.gmail-chip{border-radius:4px;font-size:.75rem;font-weight:500;height:24px}.gmail-chip.connected{background-color:#10b981;color:#fff}.gmail-chip.not-connected{background-color:#ef4444;color:#fff}.gmail-chip.not-connected .MuiChip-icon{color:#fff}.gmail-button{font-family:Segoe UI,sans-serif;transition:all .2s ease}.gmail-button,.gmail-button.connected{font-size:.8125rem;padding:4px 16px;text-transform:none}.gmail-button.connected{background:#0000;border:1px solid #2a2a2a;border-radius:6px;color:#e5e5e5}.gmail-button.connected:hover{background-color:#667eea14}.gmail-button.not-connected{background:#0000;border:1px solid #2a2a2a;border-radius:6px;color:#e5e5e5;font-size:.8125rem;font-weight:600;padding:6px 16px;text-transform:none}.gmail-alert{font-size:.875rem;margin-bottom:16px}.syllabus-section{font-family:Segoe UI,sans-serif;margin-bottom:32px}.syllabus-header-container{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.syllabus-section-title{color:#e5e5e5;font-family:Segoe UI,sans-serif;font-size:1rem;font-weight:600}.syllabus-card{background-color:#1a1a1a!important;border:1px solid #2a2a2a!important;border-radius:8px;box-shadow:none!important;padding:16px}.syllabus-card-content{padding:0}.syllabus-header{align-items:flex-start;display:flex;margin-bottom:12px}.syllabus-icon{color:#4285f4;flex-shrink:0;font-size:32px;margin-right:12px}.syllabus-info{flex:1 1}.syllabus-title{color:#fff;font-family:Segoe UI,sans-serif;font-size:.9375rem;font-weight:600;margin-bottom:6px}.syllabus-description{color:#b0b0b0;font-size:.8125rem;line-height:1.5}.syllabus-button{background:#0000;border:1px solid #2a2a2a;border-radius:6px;color:#e5e5e5;font-family:Segoe UI,sans-serif;font-size:.8125rem;font-weight:500;padding:4px 16px;text-transform:none;transition:all .2s ease}.syllabus-button:hover{background-color:#667eea14}.gpa-section{font-family:Segoe UI,sans-serif;margin-bottom:32px}.gpa-header-container{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.gpa-section-title{color:#e5e5e5;font-family:Segoe UI,sans-serif;font-size:1rem;font-weight:600}.gpa-add-button{background:linear-gradient(90deg,#ffd36e,#ffb800)!important;border-radius:6px!important;color:#000!important;font-family:Segoe UI,sans-serif!important;font-size:.8125rem!important;font-weight:600!important;padding:6px 16px!important;text-transform:none!important}.gpa-card{background-color:#1a1a1a!important;border:1px solid #2a2a2a!important;border-radius:8px;box-shadow:none!important;padding:16px}.gpa-card-content{padding:0!important}.gpa-summary{grid-gap:16px;border-bottom:1px solid #2a2a2a;display:grid;gap:16px;grid-template-columns:repeat(3,1fr);margin-bottom:24px;padding-bottom:20px}.gpa-summary-item{background-color:#252525;border:1px solid #2a2a2a;border-radius:8px;padding:12px;text-align:center}.gpa-summary-label{color:#a0a0a0;font-family:Segoe UI,sans-serif;font-size:.75rem;letter-spacing:.5px;margin-bottom:4px;text-transform:uppercase}.gpa-summary-value{color:#ffb800;font-family:Segoe UI,sans-serif;font-size:1.75rem;font-weight:700;line-height:1.2}.gpa-empty-state{align-items:center;display:flex;flex-direction:column;padding:48px 24px;text-align:center}.gpa-table-container{border:1px solid #2a2a2a;border-radius:8px;margin-bottom:24px;overflow:hidden}.gpa-table{background-color:initial}.gpa-table-header{background-color:#252525!important;border-bottom:2px solid #2a2a2a!important;color:#a0a0a0!important;font-family:Segoe UI,sans-serif!important;font-size:.75rem!important;font-weight:700!important;letter-spacing:.5px!important;padding:12px 16px!important;text-transform:uppercase!important}.gpa-table-row{border-bottom:1px solid #2a2a2a;transition:background-color .2s ease}.gpa-table-row:hover{background-color:#252525}.gpa-table-row:last-child{border-bottom:none}.gpa-table-cell{border-bottom:none!important;color:#e5e5e5!important;font-family:Segoe UI,sans-serif!important;font-size:.875rem!important;padding:12px 16px!important}.gpa-grade-chip{font-size:.75rem!important;font-weight:600!important;height:24px!important}.gpa-grade-scale{border-top:1px solid #2a2a2a;padding-top:20px}.gpa-grade-scale-title{color:#a0a0a0;font-family:Segoe UI,sans-serif;font-size:.8125rem;font-weight:600;margin-bottom:12px}.gpa-grade-scale-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(70px,1fr))}.gpa-grade-scale-item{align-items:center;background-color:#252525;border:1px solid #2a2a2a;border-radius:6px;display:flex;flex-direction:column;padding:8px}.gpa-grade-scale-grade{color:#ffb800;font-family:Segoe UI,sans-serif;font-size:.875rem;font-weight:700;margin-bottom:2px}.gpa-grade-scale-points{color:#a0a0a0;font-family:Segoe UI,sans-serif;font-size:.75rem}.calendar-container{display:flex;flex-direction:column;height:100%;margin-bottom:32px}.calendar-main-wrapper{display:flex;gap:12px;height:calc(100vh - 200px);min-height:600px}.calendar-sidebar{background-color:#1f1f1f;border:1px solid #2a2a2a;border-radius:8px;display:flex;flex:0 0 20%;flex-direction:column;min-width:0;overflow:hidden}.calendar-sidebar-header{background-color:#2a2a2a;border-bottom:1px solid #2a2a2a;display:flex;flex-direction:column;gap:8px;padding:12px}.calendar-term-info{display:flex;flex-direction:column;gap:2px}.calendar-term-label{color:#a0a0a0;font-size:.7rem;letter-spacing:.05em;text-transform:uppercase}.calendar-term-label,.calendar-term-value{font-family:Segoe UI,sans-serif;font-weight:600}.calendar-term-value{color:#fff;font-size:.95rem}.calendar-sidebar-update-button{background-color:#ffb800;border:none;color:#000;font-family:Segoe UI,sans-serif;font-size:.75rem;font-weight:600;padding:6px 12px;text-transform:none;transition:all .2s ease}.calendar-sidebar-update-button:hover{background-color:#ffd36e;box-shadow:0 2px 8px #ffb8004d}.calendar-sidebar-update-button:disabled{cursor:not-allowed;opacity:.6}.calendar-sidebar-tabs{grid-gap:0;background-color:#191919;border-bottom:1px solid #2a2a2a;display:grid;gap:0;grid-template-columns:1fr 1fr;padding:8px}.calendar-sidebar-tab{background-color:#2a2a2a!important;border:1px solid #2a2a2a!important;border-radius:6px!important;color:#fff!important;cursor:pointer!important;font-family:Segoe UI,sans-serif!important;font-size:.8125rem!important;padding:8px 12px!important;text-transform:none!important;transition:all .2s ease!important}.calendar-sidebar-tab.active{background-color:#ffb800!important;border-color:#ffb800!important;color:#000!important;font-weight:600!important}.calendar-sidebar-tab.active:hover{background-color:#ffd36e!important}.calendar-sidebar-tab:hover{background-color:#3a3a3a!important}.calendar-sidebar-content{flex:1 1;overflow-y:auto;padding:12px}.calendar-day-hours-content::-webkit-scrollbar,.calendar-events-list::-webkit-scrollbar,.calendar-search-results::-webkit-scrollbar,.calendar-week-days::-webkit-scrollbar{width:8px}.calendar-day-hours-content::-webkit-scrollbar-track,.calendar-events-list::-webkit-scrollbar-track,.calendar-search-results::-webkit-scrollbar-track,.calendar-week-days::-webkit-scrollbar-track{background:#2a2a2a;border-radius:10px}.calendar-day-hours-content::-webkit-scrollbar-thumb,.calendar-events-list::-webkit-scrollbar-thumb,.calendar-search-results::-webkit-scrollbar-thumb,.calendar-week-days::-webkit-scrollbar-thumb{background:#ffb800;border-radius:10px;min-height:40px;-webkit-transition:all .2s ease;transition:all .2s ease}.calendar-day-hours-content::-webkit-scrollbar-thumb:hover,.calendar-events-list::-webkit-scrollbar-thumb:hover,.calendar-search-results::-webkit-scrollbar-thumb:hover,.calendar-week-days::-webkit-scrollbar-thumb:hover{background:#ffd36e}.calendar-search-card{background-color:initial;border:none;box-shadow:none}.calendar-search-content{display:flex;flex-direction:column;height:100%;overflow:hidden;padding:0}.calendar-search-input{flex-shrink:0;margin-bottom:12px}.calendar-search-results{flex:1 1;min-height:0;overflow-x:hidden;overflow-y:auto;padding-right:4px}.calendar-search-loading{padding:16px;text-align:center}.calendar-no-results{color:#b8b8b8;margin-top:12px;padding:8px;text-align:center}.calendar-selected-label-box{align-items:center;display:flex;justify-content:center;margin-bottom:8px;padding:12px}.calendar-selected-label{color:#a0a0a0;font-size:.875rem;font-weight:600;margin:0;text-align:center}.calendar-section-box{background-color:#3a3a3a!important;border:1px solid #666!important;border-radius:4px;cursor:pointer;padding:.75rem;transition:all .2s ease}.calendar-section-box:hover{background-color:#4a4a4a!important;border-color:#7a7a7a!important}.calendar-section-box.selected{background-color:#ffb80033!important;border:2px solid #ffb800!important}.calendar-section-box.selected:hover{background-color:#ffb80040!important;border-color:#ffd36e!important}.calendar-empty-state{padding:16px 8px;text-align:center}.calendar-empty-state-text{color:#fff;font-size:.8125rem}.calendar-courses-list{display:flex;flex-direction:column;gap:8px}.calendar-course-card{border-left:3px solid;border-radius:6px;cursor:pointer;transition:all .2s ease}.calendar-course-card.conflict{background:linear-gradient(135deg,#ef44441a,#ef44440d);border-left-color:#ef4444}.calendar-course-card.conflict:hover{background:linear-gradient(135deg,#ef444426,#ef44441a);border-left-color:#f55}.calendar-course-card.ok{background:linear-gradient(135deg,#10b9811a,#10b9810d);border-left-color:#10b981}.calendar-course-card.ok:hover{background:linear-gradient(135deg,#10b98126,#10b9811a);border-left-color:#20d989}.calendar-course-abbr{color:#ffb800;font-size:.875rem;font-weight:700}.calendar-course-name{color:#e5e5e5;font-size:.75rem;font-weight:500;margin-bottom:4px}.calendar-course-time{color:#a0a0a0;font-size:.7rem;margin-top:2px}.calendar-events-tab{display:flex;flex-direction:column}.calendar-events-header{align-items:center;border-bottom:1px solid #2a2a2a;display:flex;justify-content:space-between;margin-bottom:12px;padding-bottom:8px}.calendar-events-title{color:#e5e5e5;font-size:.875rem;font-weight:600}.calendar-add-event-button{background:linear-gradient(90deg,#ffd36e,#ffb800);border-radius:6px;color:#111827;font-family:Segoe UI,sans-serif;font-size:.7rem;padding:4px 8px;text-transform:none;transition:all .2s ease}.calendar-add-event-button:hover{box-shadow:0 4px 12px #ffb8004d}.calendar-events-list{display:flex;flex:1 1;flex-direction:column;gap:8px;overflow-y:auto}.calendar-events-card{background-color:#191919;background:linear-gradient(135deg,#1f1f1f,#191919);border:1px solid #2a2a2a;border-radius:6px;cursor:pointer;transition:all .2s ease}.calendar-events-card:hover{background:linear-gradient(135deg,#2a2a2a,#1f1f1f);border-color:#ffb800;box-shadow:0 4px 12px #ffb80026}.calendar-events-card-title{color:#ffb800;font-size:.8125rem;font-weight:700}.calendar-events-card-date{color:#e5e5e5;font-size:.7rem;font-weight:500}.calendar-events-card-time{color:#a0a0a0;font-size:.7rem}.calendar-main{background-color:#1f1f1f;border:1px solid #2a2a2a;border-radius:8px;display:flex;flex:1 1;flex-direction:column;min-width:0;overflow:hidden}.calendar-header{align-items:center;background-color:#191919;border-bottom:1px solid #2a2a2a;display:flex;flex-shrink:0;flex-wrap:wrap;gap:16px;padding:12px 16px}.calendar-header-date-range{color:#e5e5e5;font-family:Segoe UI,sans-serif;font-size:1.125rem;font-weight:700;margin:0}.calendar-header-term{color:#a0a0a0;font-family:Segoe UI,sans-serif;font-size:.875rem;margin:0 0 0 24px}.calendar-header-term-value{color:#ffb800;font-weight:600}.calendar-header-update-button{border-color:#ffb800!important;border-width:1.5px!important;color:#ffb800!important;font-family:Segoe UI,sans-serif!important;font-size:.75rem!important;font-weight:600!important;padding:5px 12px!important;text-transform:none!important;transition:all .2s ease!important}.calendar-header-update-button:hover{background-color:#ffb8001a!important;border-color:gold!important}.calendar-header-update-button:disabled{cursor:not-allowed!important;opacity:.5!important}.calendar-view-label{color:#a0a0a0;font-family:Segoe UI,sans-serif;font-size:.875rem;font-weight:500;margin:0;padding:6px 12px}.calendar-view-dropdown,.calendar-view-selector{display:none}.calendar-nav-buttons{display:flex;gap:6px}.calendar-nav-button{align-items:center;background-color:#1f1f1f;border:1px solid #2a2a2a;border-radius:6px;color:#e5e5e5;display:flex;height:36px;justify-content:center;min-width:32px;padding:6px;transition:all .2s ease}.calendar-nav-button:hover{background-color:#2a2a2a;border-color:#ffb800}.calendar-today-button{align-items:center;background-color:#1f1f1f;border:1px solid #2a2a2a;border-radius:6px;color:#e5e5e5;display:flex;font-family:Segoe UI,sans-serif;font-size:.8125rem;height:36px;padding:6px 12px;text-transform:none;transition:all .2s ease}.calendar-today-button:hover{background-color:#2a2a2a;border-color:#ffb800}.calendar-update-button{border-color:#2a2a2a;color:#e5e5e5;font-family:Segoe UI,sans-serif;font-size:.75rem;padding:6px 12px;text-transform:none;transition:all .2s ease}.calendar-update-button:hover{background-color:#ffb8000d;border-color:#ffb800}.calendar-grid{background-color:initial;border:none;border-radius:0;display:grid;flex:1 1;grid-template-columns:1fr;grid-template-rows:auto repeat(6,1fr);height:100%;overflow:hidden}.calendar-weekdays{background-color:#191919;border-bottom:1px solid #2a2a2a;display:grid;grid-column:1/-1;grid-template-columns:repeat(7,1fr);height:auto}.calendar-weekday{border-right:1px solid #2a2a2a;color:#a0a0a0;font-family:Segoe UI,sans-serif;font-size:.875rem;font-weight:700;letter-spacing:.05em;padding:12px 0;text-align:center;text-transform:uppercase}.calendar-weekday:last-child{border-right:none}.calendar-week{border-bottom:1px solid #2a2a2a;display:grid;grid-template-columns:repeat(7,1fr);min-height:0}.calendar-week:last-child{border-bottom:none}.calendar-day{aspect-ratio:1;background-color:#1f1f1f;border-right:1px solid #2a2a2a;cursor:pointer;display:flex;flex-direction:column;gap:4px;min-height:auto;overflow:hidden;padding:10px;position:relative;transition:all .2s ease}.calendar-day:hover{background-color:#2a2a2a}.calendar-day.empty{cursor:default}.calendar-day.empty,.calendar-day.empty:hover{background-color:#191919}.calendar-day:last-child{border-right:none}.calendar-day-number{color:#e5e5e5;font-family:Segoe UI,sans-serif;font-size:.9rem;font-weight:500}.calendar-day-number.today{align-items:center;background-color:#ffb800;border-radius:50%;color:#111827;display:inline-flex;font-weight:700;height:28px;justify-content:center;width:28px}.calendar-event{background-color:#6366f1;border-radius:3px;color:#fff;cursor:pointer;flex:0 0 auto;font-family:Segoe UI,sans-serif;font-size:.65rem;font-weight:500;overflow:hidden;padding:4px 6px;text-overflow:ellipsis;transition:all .2s ease;white-space:nowrap}.calendar-event:hover{opacity:.85;transform:scale(.98)}.calendar-event.course{background-color:#10b981}.calendar-event.personal{background-color:#6366f1}.calendar-more-events{color:#ffb800;font-family:Segoe UI,sans-serif;font-size:.65rem;margin:0;padding-left:2px}.calendar-week-hours-wrapper{display:flex;flex:1 1;gap:0;overflow:hidden}.calendar-week-hours-column{background-color:#191919;border-right:1px solid #2a2a2a;display:flex;flex:0 0 60px;flex-direction:column;overflow-y:auto;padding-top:60px}.calendar-week-hour-label,.calendar-week-hours-header{border-bottom:1px solid #2a2a2a;flex:0 0 60px}.calendar-week-hour-label{align-items:center;background-color:#191919;color:#a0a0a0;display:flex;font-family:Segoe UI,sans-serif;font-size:.7rem;font-weight:600;justify-content:center;padding:8px 4px;position:-webkit-sticky;position:sticky;text-align:center;top:0;z-index:10}.calendar-week-days{background-color:#1f1f1f;border-left:1px solid #2a2a2a;display:grid;flex:1 1;grid-template-columns:repeat(7,1fr);overflow-y:auto}.calendar-week-day-column{background-color:#1f1f1f;border-right:1px solid #2a2a2a;display:flex;flex-direction:column}.calendar-week-day-column:last-child{border-right:none}.calendar-week-day-header{background-color:#191919;border-bottom:1px solid #2a2a2a;flex:0 0 60px;gap:2px;padding:8px 4px;text-align:center}.calendar-week-day-label{color:#a0a0a0;font-family:Segoe UI,sans-serif;font-size:.7rem;font-weight:600}.calendar-week-day-number{color:#e5e5e5;font-family:Segoe UI,sans-serif;font-size:.9rem;font-weight:600}.calendar-week-day-number.today{align-items:center;background-color:#ffb800;border-radius:50%;color:#111827;display:inline-flex;height:24px;justify-content:center;width:24px}.calendar-week-hour-slot{border-bottom:1px solid #2a2a2a;flex:0 0 60px;gap:2px;padding:4px}.calendar-week-event{background-color:#10b981;border-radius:3px;box-shadow:0 2px 4px #0003;color:#fff;font-family:Segoe UI,sans-serif;font-size:.65rem;font-weight:600;text-overflow:ellipsis;transition:all .2s ease;white-space:nowrap}.calendar-week-event:hover{box-shadow:0 4px 8px #0000004d}.calendar-day-view{flex:1 1}.calendar-day-hours-wrapper{display:flex;flex:1 1;gap:0;overflow:hidden}.calendar-day-hours-column{background-color:#191919;border-right:1px solid #2a2a2a;display:flex;flex:0 0 60px;flex-direction:column;overflow-y:auto;padding-top:60px}.calendar-day-hour-label{align-items:center;background-color:#191919;border-bottom:1px solid #2a2a2a;color:#a0a0a0;display:flex;flex:0 0 60px;font-family:Segoe UI,sans-serif;font-size:.7rem;font-weight:600;justify-content:center;padding:8px 4px;position:-webkit-sticky;position:sticky;text-align:center;top:0;z-index:10}.calendar-day-hours-content{background-color:#1f1f1f;display:flex;flex:1 1;flex-direction:column;overflow-y:auto}.calendar-day-hours-column::-webkit-scrollbar,.calendar-day-hours-content::-webkit-scrollbar{width:8px}.calendar-day-hours-column::-webkit-scrollbar-track,.calendar-day-hours-content::-webkit-scrollbar-track{background:#191919;border-radius:10px}.calendar-day-hours-column::-webkit-scrollbar-thumb,.calendar-day-hours-content::-webkit-scrollbar-thumb{background:#ffb800;border-radius:10px;-webkit-transition:all .2s ease;transition:all .2s ease}.calendar-day-hours-column::-webkit-scrollbar-thumb:hover,.calendar-day-hours-content::-webkit-scrollbar-thumb:hover{background:#ffd36e}.calendar-day-hour-slot{background-color:#1f1f1f;flex:0 0 60px;gap:2px;padding:4px}.calendar-day-event{background-color:#10b981;box-shadow:0 2px 4px #0003;color:#fff;font-family:Segoe UI,sans-serif;font-size:.7rem;padding:6px 8px;transition:all .2s ease}.calendar-day-event:hover{box-shadow:0 4px 8px #0000004d}.calendar-day-event-title{font-weight:700;margin-bottom:2px}.calendar-day-event-time{color:#ffffffe6;font-size:.65rem;margin-bottom:1px}.calendar-day-event-room{color:#fffc;font-size:.65rem}.calendar-dialog{background-color:#1f1f1f;border:1px solid #2a2a2a;color:#e5e5e5}.calendar-dialog-title{color:#e5e5e5;font-size:1.125rem;padding:12px 16px}.calendar-dialog-header{align-items:center;display:flex;justify-content:space-between}.calendar-dialog-content{background-color:#1f1f1f;border-color:#2a2a2a}.calendar-color-box{border:1px solid #2a2a2a;border-radius:8px;cursor:pointer;flex-shrink:0;height:32px;transition:all .2s ease;width:32px}.calendar-color-box:hover{transform:scale(1.1)}.calendar-color-box.selected{border:2px solid #e5e5e5}.calendar-dialog-actions{background-color:#191919;border-top:1px solid #2a2a2a;padding:12px 16px}.calendar-dialog-cancel{color:#a0a0a0;font-size:.8125rem;text-transform:none;transition:all .2s ease}.calendar-dialog-cancel:hover{color:#e5e5e5}.calendar-dialog-submit{background:linear-gradient(90deg,#ffd36e,#ffb800);color:#111827;font-size:.8125rem;padding-left:16px;padding-right:16px;text-transform:none;transition:all .2s ease}.calendar-dialog-submit:hover{box-shadow:0 4px 12px #ffb8004d}.calendar-dialog-submit:disabled{cursor:not-allowed;opacity:.5}@media (max-width:1024px){.calendar-main-wrapper{min-height:500px}.calendar-sidebar{flex:0 0 22%}.calendar-day{min-height:70px}}@media (max-width:768px){.calendar-main-wrapper{min-height:400px}.calendar-sidebar{flex:0 0 25%}.calendar-day{min-height:60px}.calendar-day-number{font-size:.8rem}.calendar-event{font-size:.6rem;padding:2px}}@media (max-width:600px){.calendar-main-wrapper{min-height:300px}.calendar-sidebar{flex:0 0 20%}.calendar-sidebar-tabs{padding:4px}.calendar-sidebar-tab{font-size:.7rem;padding:6px 8px}.calendar-day{min-height:50px}.calendar-weekday{font-size:.75rem;padding:8px 0}.calendar-header{flex-wrap:wrap;gap:8px;padding:10px 12px}.calendar-header-controls{gap:8px;order:3;width:100%}}.calendar-day-view{background-color:#191919;border-radius:8px;display:flex;flex-direction:column;height:100%;overflow:hidden}.calendar-day-view-header{background-color:#1f1f1f;border-bottom:1px solid #2a2a2a;padding:16px}.calendar-day-view-title{color:#e5e5e5;font-size:1.1rem}.calendar-day-grid-wrapper{border-top:1px solid #2a2a2a;display:flex;flex:1 1;overflow:hidden}.calendar-time-column{background-color:#191919;border-right:1px solid #2a2a2a;flex-shrink:0;overflow-x:hidden;overflow-y:scroll;scrollbar-width:none;width:80px}.calendar-time-column::-webkit-scrollbar{display:none}.calendar-time-header{border-bottom:1px solid #2a2a2a;flex-shrink:0;height:0}.calendar-time-slot{flex-shrink:0;height:60px}.calendar-time-label{font-size:.75rem;font-weight:500}.calendar-day-events-grid{flex:1 1;overflow-x:hidden;overflow-y:scroll;scrollbar-width:none}.calendar-day-events-grid::-webkit-scrollbar{display:none}.calendar-day-hour-slot{border-bottom:1px solid #2a2a2a;box-sizing:border-box;display:flex;flex-direction:column;flex-shrink:0;height:60px;position:relative}.calendar-day-hour-slot.even{background-color:#191919}.calendar-day-hour-slot.odd{background-color:#1a1a1a}.calendar-day-hour-background{height:100%;left:0;pointer-events:none;position:absolute;right:0;top:0}.calendar-day-events-container{display:flex;flex:1 1;flex-direction:column;gap:4px;padding:2px;position:relative;z-index:1}.calendar-day-event{border-radius:4px;box-shadow:0 1px 3px #0000004d;cursor:pointer;display:flex;flex-direction:column;justify-content:flex-start;overflow:hidden;padding:4px 6px;transition:transform .2s,box-shadow .2s}.calendar-day-event:hover{box-shadow:0 2px 6px #0006;transform:translateY(-1px)}.calendar-day-event-title{font-size:.75rem;font-weight:600;margin:0}.calendar-day-event-time,.calendar-day-event-title{color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-day-event-time{font-size:.7rem;margin:2px 0 0;opacity:.9}.calendar-week-view{background-color:#191919;height:100%}.calendar-week-header{background-color:#1f1f1f;border-bottom:1px solid #2a2a2a}.calendar-week-days-header{display:flex;overflow:hidden}.calendar-week-day-header{background-color:#1f1f1f;border-right:1px solid #2a2a2a;flex:1 1;height:80px;min-width:0;padding:12px 8px}.calendar-week-day-name{font-weight:500}.calendar-week-day-date{color:#e5e5e5;font-size:1rem;font-weight:600;margin:4px 0 0}.calendar-week-grid{display:flex;flex:1 1;flex-direction:column;overflow-x:hidden;overflow-y:scroll;scrollbar-width:none}.calendar-week-grid::-webkit-scrollbar{display:none}.calendar-week-grid::-webkit-scrollbar-thumb:hover{background:#4a4a4a}.calendar-week-hour-row{box-sizing:border-box;display:flex;flex-shrink:0;height:60px}.calendar-week-hour-slot{flex:1 1;min-width:0}.calendar-week-hour-slot.odd{background-color:#1a1a1a}.calendar-week-hour-background{pointer-events:none}.calendar-week-events-container{gap:2px}.calendar-week-event-title{font-size:.75rem}.calendar-week-event-time{font-size:.7rem}.calendar-view-dropdown{background-color:#1f1f1f;border:1px solid #2a2a2a;border-radius:4px;color:#fff;cursor:pointer;font-family:Segoe UI,sans-serif;font-size:.875rem;padding:6px 12px;transition:border-color .2s,background-color .2s}.calendar-day-view-simple{background-color:#1f1f1f;border-radius:8px;display:flex;flex:1 1;flex-direction:column;overflow:hidden}.calendar-day-view-header{background-color:#2a2a2a;border-bottom:1px solid #3a3a3a;padding:20px}.calendar-day-view-title{color:#fff;font-family:Segoe UI,sans-serif;font-size:1.25rem;font-weight:600;margin:0}.calendar-day-events-list{display:flex;flex:1 1;flex-direction:column;gap:12px;overflow-y:auto;padding:16px}.calendar-day-events-list .calendar-event{border-radius:6px;box-shadow:0 2px 4px #0000001a;color:#fff;cursor:pointer;font-family:Segoe UI,sans-serif;font-size:.9375rem!important;font-weight:500;overflow:visible!important;padding:12px 16px!important;text-overflow:clip!important;transition:all .2s ease;white-space:normal!important}.calendar-day-events-list .calendar-event:hover{box-shadow:0 4px 8px #0003;transform:translateY(-2px)}.calendar-day-events-list .calendar-event.course{background-color:#10b981}.calendar-day-events-list .calendar-event.personal{background-color:#6366f1}.calendar-empty-state{align-items:center;display:flex;flex:1 1;justify-content:center;padding:40px}.calendar-empty-state-text{color:#a0a0a0;font-family:Segoe UI,sans-serif;font-size:1rem;margin:0;text-align:center}.calendar-week-view{background-color:#1f1f1f;border-radius:8px;display:flex;flex:1 1;flex-direction:column;overflow:hidden}.calendar-week-header{background-color:#2a2a2a;border-bottom:1px solid #3a3a3a;display:flex;flex-shrink:0;height:80px}.calendar-time-header{align-items:center;background-color:#1f1f1f;border-right:1px solid #3a3a3a;color:#a0a0a0;display:flex;flex:0 0 70px;font-size:.75rem;font-weight:600;justify-content:center}.calendar-week-days-header{grid-gap:0;display:grid;flex:1 1;gap:0;grid-template-columns:repeat(7,1fr)}.calendar-week-day-header{align-items:center;background-color:#2a2a2a;border-right:1px solid #3a3a3a;box-sizing:border-box;display:flex;flex-direction:column;gap:4px;justify-content:center;min-height:80px;padding:12px 0}.calendar-week-day-header:last-child{border-right:none}.calendar-week-day-name{color:#a0a0a0;font-size:.75rem;font-weight:600;letter-spacing:.05em;margin:0;text-transform:uppercase}.calendar-week-day-date{color:#fff;font-size:1.125rem;font-weight:700;margin:0}.calendar-week-grid-wrapper{background-color:#1f1f1f;display:flex;flex:1 1;flex-direction:column;gap:0;overflow:hidden}.calendar-time-column-week{background-color:#191919;border-right:1px solid #3a3a3a;display:flex;flex:0 0 70px;flex-direction:column;overflow:hidden}.calendar-time-slot{align-items:center;background-color:#191919;border-bottom:1px solid #2a2a2a;box-sizing:border-box;display:flex;flex:0 0 60px;justify-content:center;min-height:60px;padding:0}.calendar-time-label{color:#a0a0a0;font-family:Segoe UI,sans-serif;font-size:.7rem;font-weight:600;line-height:1;margin:0;padding:8px 0}.calendar-week-grid-content{display:flex;flex:1 1;flex-direction:column;overflow:hidden}.calendar-week-hour-row{grid-gap:0;border-bottom:1px solid #2a2a2a;display:grid;flex:0 0 60px;gap:0;grid-template-columns:repeat(7,1fr);min-height:60px}.calendar-week-hour-slot{background-color:#1f1f1f;border-right:1px solid #2a2a2a;box-sizing:border-box;display:flex;flex-direction:column;gap:1px;overflow:visible;padding:2px;position:relative}.calendar-week-hour-slot:last-child{border-right:none}.calendar-week-hour-slot.even{background-color:#191919}.calendar-week-hour-background{border-top:1px solid #0000;bottom:0;left:0;position:absolute;right:0;top:0}.calendar-week-events-container{display:flex;flex:1 1;flex-direction:column;gap:1px;padding:2px;position:relative;z-index:1}.calendar-week-event{border-radius:4px;box-shadow:0 1px 3px #0000004d;cursor:pointer;display:flex;flex-direction:column;font-size:.7rem;justify-content:flex-start;overflow:hidden;padding:4px 6px;transition:transform .2s,box-shadow .2s}.calendar-week-event:hover{box-shadow:0 2px 6px #0006;transform:translateY(-1px)}.calendar-week-event-title{font-size:.7rem;font-weight:600;margin:0}.calendar-week-event-time,.calendar-week-event-title{color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-week-event-time{font-size:.65rem;margin:2px 0 0;opacity:.9}.calendar-week-event-room{color:#fff;font-size:.6rem;margin:1px 0 0;opacity:.8;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-view-dropdown:hover{background-color:#2a2a2a;border-color:#3a3a3a}.calendar-view-dropdown:focus{background-color:#2a2a2a;border-color:#ffb800;outline:none}.calendar-view-dropdown option{background-color:#1f1f1f;color:#fff}.study-level-container{align-items:center;background:#191919;bottom:0;display:flex;justify-content:center;left:0;min-height:100vh;padding:20px;position:fixed;right:0;top:0;z-index:1000}.study-level-glass{background:#2a2a2a;border:1px solid #3a3a3a;border-radius:24px;box-shadow:0 8px 32px #0000004d;max-width:420px;padding:48px 40px;width:100%}.study-level-title{color:#fff;font-size:28px;font-weight:600;letter-spacing:-.5px;margin-bottom:12px;text-align:center}.study-level-subtitle{color:#b8b8b8;font-size:14px;line-height:1.5;margin-bottom:32px;text-align:center}.study-level-form{display:flex;flex-direction:column;gap:20px}.study-level-select{position:relative}.study-level-select select{-webkit-appearance:none;appearance:none;background:#1e1e1e;border:1px solid #3a3a3a;border-radius:12px;color:#fff;cursor:pointer;font-size:15px;font-weight:500;padding:13px 40px 13px 16px;transition:all .3s ease;width:100%}.study-level-select select:hover{background:#252525;border-color:#666}.study-level-select select:focus{background:#1e1e1e;border-color:#ffb800;box-shadow:0 0 0 3px #ffb8001a;outline:none}.study-level-select select option{background:#1e1e1e;color:#fff;padding:10px}.study-level-select:after{color:#b8b8b8;content:"▼";font-size:12px;pointer-events:none;position:absolute;right:16px;top:50%;transform:translateY(-50%)}.study-level-error{background:#2a1a1a;border:1px solid #ff6b6b;border-radius:8px;color:#ff6b6b;font-size:13px;line-height:1.4;padding:12px 14px}.study-level-buttons{display:flex;gap:12px;margin-top:24px}.study-level-btn{align-items:center;border:none;border-radius:12px;cursor:pointer;display:flex;flex:1 1;font-size:15px;font-weight:600;gap:8px;justify-content:center;padding:13px 20px;transition:all .3s ease}.study-level-btn-primary{background:linear-gradient(135deg,#ffb800,#ffd36e);border:none;color:#000}.study-level-btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#ffd36e,#ffe89e);box-shadow:0 8px 24px #ffb80059;transform:translateY(-2px)}.study-level-btn-primary:active:not(:disabled){transform:translateY(0)}.study-level-btn-secondary{background:#1e1e1e;border:1px solid #3a3a3a;color:#fff}.study-level-btn-secondary:hover:not(:disabled){background:#252525;border-color:#666}.study-level-btn-secondary:active:not(:disabled){background:#1e1e1e}.study-level-btn:disabled{cursor:not-allowed;opacity:.5}.spinner{animation:spin .8s linear infinite;border:2px solid #ffb8004d;border-radius:50%;border-top-color:#ffb800;display:inline-block;height:16px;width:16px}@keyframes spin{to{transform:rotate(1turn)}}.callback-loading-container{align-items:center;background:#191919;display:flex;justify-content:center;min-height:100vh}.callback-loading-glass{background:#2a2a2a;border:1px solid #3a3a3a;border-radius:24px;box-shadow:0 8px 32px #0000004d;max-width:320px;padding:48px 40px;text-align:center}.callback-loading-spinner{animation:spin 1s linear infinite;border:3px solid #3a3a3a;border-radius:50%;border-top-color:#ffb800;height:48px;margin:0 auto 20px;width:48px}.callback-loading-title{color:#fff;font-size:18px;font-weight:600;margin-bottom:8px}.callback-loading-text{color:#b8b8b8;font-size:13px}.callback-error-container{align-items:center;background:#191919;display:flex;justify-content:center;min-height:100vh;padding:20px}.callback-error-glass{background:#2a2a2a;border:1px solid #3a3a3a;border-radius:24px;box-shadow:0 8px 32px #0000004d;max-width:420px;padding:48px 40px;text-align:center}.callback-error-title{color:#ff6b6b;font-size:22px;font-weight:600;margin-bottom:16px}.callback-error-message{background:#2a1a1a;border:1px solid #ff6b6b;border-radius:8px;color:#ff6b6b;font-size:13px;line-height:1.6;margin-bottom:24px;padding:16px}.callback-error-buttons{display:flex;flex-direction:column;gap:12px}.callback-error-button{border:none;border-radius:12px;cursor:pointer;font-size:15px;font-weight:600;padding:13px 20px;transition:all .3s ease}.callback-error-button-primary{background:linear-gradient(135deg,#ffb800,#ffd36e);color:#000}.callback-error-button-primary:hover{background:linear-gradient(135deg,#ffd36e,#ffe89e);box-shadow:0 8px 24px #ffb80059;transform:translateY(-2px)}.callback-error-button-secondary{background:#1e1e1e;border:1px solid #3a3a3a;color:#fff}.callback-error-button-secondary:hover{background:#252525;border-color:#666}
/*# sourceMappingURL=main.8c6bffcc.css.map*/