*{box-sizing:border-box;margin:0;padding:0}:root{--btn-primary-bg:#1976d2;--btn-primary-bg-hover:#1565c0;--btn-secondary-bg:#6b7280;--btn-secondary-bg-hover:#4b5563;--btn-danger-bg:#dc2626;--btn-danger-bg-hover:#b91c1c}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}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.ProtectedRoute_unauthorized__p2q\+h{padding:4rem 2rem;text-align:center}.ProtectedRoute_unauthorized__p2q\+h h2{color:#f44336;margin-bottom:1rem}.PublicHeader_public-header__75v9q{display:flex;justify-content:center;padding:1.5rem 1rem 0}.PublicHeader_pill-nav__7d9OR{background:hsla(0,0%,100%,.15);border-radius:999px;display:inline-flex;padding:.25rem}.PublicHeader_pill-active__nCAbB,.PublicHeader_pill__AKlsG{border-radius:999px;font-size:.9rem;font-weight:600;padding:.5rem 1.5rem;text-decoration:none;transition:background-color .2s ease,color .2s ease}.PublicHeader_pill__AKlsG{color:hsla(0,0%,100%,.85)}.PublicHeader_pill__AKlsG:hover{color:#fff}.PublicHeader_pill-active__nCAbB{background:#fff;color:#333}.About_about-container__Gb3PQ{background:linear-gradient(135deg,#667eea,#764ba2);display:flex;flex-direction:column;min-height:100vh}.About_about-content__vRCWj{display:flex;flex:1 1;justify-content:center;padding:2rem 1rem 4rem}.About_about-card__pIGYx{background:#fff;border-radius:10px;box-shadow:0 10px 25px rgba(0,0,0,.1);max-width:640px;padding:2.5rem;text-align:left;width:100%}.About_about-card__pIGYx h1,.About_about-card__pIGYx h2{color:#333;margin-bottom:.75rem}.About_about-card__pIGYx h2{font-size:1.15rem;margin-top:2rem}.About_about-card__pIGYx p{color:#555;line-height:1.6}.About_about-card__pIGYx ul{color:#555;line-height:1.6;padding-left:1.25rem}.About_about-card__pIGYx li{margin-bottom:.5rem}.About_about-card__pIGYx li strong{color:#333}.AuthForm_form-group__T9YPP{display:flex;flex-direction:column}.AuthForm_form-group__T9YPP label{color:#333;font-size:.9rem;font-weight:500;margin-bottom:.5rem}.AuthForm_password-mismatch__oIEgW{background:#fff3cd;border:1px solid #ffeaa7;border-radius:4px;color:#856404;font-size:.85rem;margin-top:.5rem;padding:.5rem}.AuthForm_show-passwords-checkbox__i0YX5{align-items:center;color:#666;cursor:pointer;display:flex;font-size:.9rem;gap:8px}.AuthForm_show-passwords-checkbox__i0YX5 input{cursor:pointer;margin:0;vertical-align:middle}.AuthForm_submit-button__NfRfW{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:1rem;font-weight:500;padding:.75rem 1.5rem;transition:transform .3s ease,box-shadow .3s ease}.AuthForm_submit-button__NfRfW:hover:not(:disabled){box-shadow:0 4px 12px rgba(102,126,234,.4);transform:translateY(-2px)}.AuthForm_submit-button__NfRfW:disabled{cursor:not-allowed;opacity:.6;transform:none}.AuthForm_error-message__iTKw-{background:#ffebee;border:1px solid #ffcdd2;border-radius:6px;color:#c62828;font-size:.9rem;margin-bottom:1rem;padding:12px}.AuthForm_form-group__T9YPP input[type=password],.AuthForm_form-group__T9YPP input[type=text],.AuthForm_password-input__2LD3X input{border:1px solid #ddd;border-radius:6px;box-sizing:border-box;font-size:1rem;padding:.75rem;transition:border-color .3s ease;width:100%}.AuthForm_form-group__T9YPP input:focus,.AuthForm_password-input__2LD3X input:focus{border-color:#667eea;box-shadow:0 0 0 3px rgba(102,126,234,.1);outline:none}.AuthForm_form-group__T9YPP input:disabled,.AuthForm_password-input__2LD3X input:disabled{background:#f5f5f5;cursor:not-allowed}.AuthForm_auth-success-message__WmmIX{text-align:center}.AuthForm_auth-success-message__WmmIX p{color:#333;margin-bottom:1rem}.AuthForm_text-button__efPpZ{background:none;border:none;color:#667eea;cursor:pointer;font-size:.9rem;padding:.5rem;text-decoration:underline;transition:color .3s ease}.AuthForm_text-button__efPpZ:hover:not(:disabled){color:#764ba2}.Login_login-container__BiTI\+{background:linear-gradient(135deg,#667eea,#764ba2);display:flex;flex-direction:column;min-height:100vh}.Login_login-content__NvDOu{align-items:center;display:flex;flex:1 1;justify-content:center;padding:2rem 1rem}.Login_login-card__bG2uF{background:#fff;border-radius:10px;box-shadow:0 10px 25px rgba(0,0,0,.1);max-width:400px;padding:2rem;text-align:center;width:90%}.Login_login-card__bG2uF h1{color:#333;margin-bottom:.5rem}.Login_login-card__bG2uF p{color:#666;margin-bottom:2rem}.Login_login-form__xmkNH{display:flex;flex-direction:column;gap:1rem}.Login_form-group__xGLCR{text-align:left}.Login_form-group__xGLCR label{display:block}.Login_form-group__xGLCR input{border:1px solid #ddd;border-radius:6px;box-sizing:border-box;font-size:1rem;padding:.75rem;transition:border-color .3s ease;width:100%}.Login_form-group__xGLCR input:focus{border-color:#667eea;box-shadow:0 0 0 3px rgba(102,126,234,.1);outline:none}.Login_form-group__xGLCR input:disabled{background:#f5f5f5;cursor:not-allowed}.Login_submit-button__r82CZ{margin-top:.5rem}.Login_text-button__GDvTU:disabled{cursor:not-allowed;opacity:.5}.Login_login-note__khptd{border-top:1px solid #e0e0e0;margin-top:1.5rem;padding-top:1rem}.Login_login-note__khptd p{color:#666;font-size:.85rem;margin:0}.PasswordRequirementsList_password-requirements__6wR4j{background:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;margin-top:.75rem;padding:1rem}.PasswordRequirementsList_requirements-title__\+komM{color:#495057;font-size:.85rem;font-weight:500;margin:0 0 .5rem}.PasswordRequirementsList_requirements-list__G3UPJ{display:flex;flex-direction:column;gap:.25rem;list-style:none;margin:0;padding:0}.PasswordRequirementsList_requirements-list__G3UPJ li{font-size:.8rem;padding:.1rem 0;transition:color .3s ease}.PasswordRequirementsList_requirements-list__G3UPJ li.PasswordRequirementsList_valid__sN5v3{color:#28a745}.PasswordRequirementsList_requirements-list__G3UPJ li.PasswordRequirementsList_invalid__pBDY6{color:#6c757d}.PasswordChange_password-change-overlay__VHSFD{align-items:center;background:rgba(0,0,0,.8);bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:1000}.PasswordChange_password-change-modal__b24it{background:#fff;border-radius:12px;box-shadow:0 20px 50px rgba(0,0,0,.3);max-height:90vh;max-width:500px;overflow-y:auto;padding:2rem;width:100%}.PasswordChange_password-change-header__yzn17{margin-bottom:2rem;text-align:center}.PasswordChange_password-change-header__yzn17 h2{color:#333;font-size:1.5rem;margin:0 0 .5rem}.PasswordChange_password-change-header__yzn17 p{color:#666;font-size:.95rem;line-height:1.4;margin:0}.PasswordChange_password-change-form__pIS3h{display:flex;flex-direction:column;gap:1.5rem}.PasswordChange_password-input__8pkr6{position:relative}.PasswordChange_password-change-actions__8BneD{display:flex;gap:1rem;margin-top:1rem}.PasswordChange_submit-button__\+BVu3{flex:1 1}.PasswordChange_cancel-button__X\+Mk8{background:none;border:1px solid #ddd;border-radius:6px;color:#666;cursor:pointer;font-size:1rem;padding:.75rem 1.5rem;transition:background-color .3s ease,color .3s ease}.PasswordChange_cancel-button__X\+Mk8:hover:not(:disabled){background:#f8f9fa;color:#495057}.PasswordChange_cancel-button__X\+Mk8:disabled{cursor:not-allowed;opacity:.6}.PasswordChange_required-notice__VNsse{border-top:1px solid #e0e0e0;margin-top:1.5rem;padding-top:1rem;text-align:center}.PasswordChange_required-notice__VNsse p{color:#666;font-size:.85rem;margin:0}@media (max-width:768px){.PasswordChange_password-change-overlay__VHSFD{padding:.5rem}.PasswordChange_password-change-modal__b24it{padding:1.5rem}.PasswordChange_password-change-actions__8BneD{flex-direction:column}.PasswordChange_requirements-list__riQAh{font-size:.75rem}}.ResetPassword_reset-password-container__07mur{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;padding:1rem}.ResetPassword_reset-password-card__DpgUT{background:#fff;border-radius:10px;box-shadow:0 10px 25px rgba(0,0,0,.1);max-width:420px;padding:2rem;width:100%}.ResetPassword_reset-password-card__DpgUT h1{color:#333;font-size:1.5rem;margin:0 0 1.5rem;text-align:center}.ResetPassword_reset-password-form__WpSWK{display:flex;flex-direction:column;gap:1.5rem}.ResetPassword_reset-password-success__jxF15{text-align:center}.ResetPassword_reset-password-success__jxF15 p{color:#333;margin-bottom:1rem}.ActivePassTimer_active-pass-timer__0Ege0{align-items:center;background:linear-gradient(135deg,#dc3545,#c82333);box-sizing:border-box;color:#fff;display:flex;flex-direction:column;height:100vh;justify-content:space-between;left:0;padding:2rem;position:fixed;top:0;width:100vw;z-index:1000}.ActivePassTimer_timer-header__KUw0c{margin-top:2rem;text-align:center}.ActivePassTimer_timer-header__KUw0c h2{font-size:2.5rem;font-weight:300;margin:0 0 1rem;text-shadow:0 2px 4px rgba(0,0,0,.3)}.ActivePassTimer_timer-header__KUw0c p{font-size:1.2rem;margin:.5rem 0;opacity:.9}.ActivePassTimer_timer-display__UC76m{align-items:center;display:flex;flex:1 1;flex-direction:column;justify-content:center;text-align:center}.ActivePassTimer_timer-label__ojsx6{font-size:1.5rem;font-weight:300;margin-bottom:1rem;opacity:.8}.ActivePassTimer_timer-time__cinQF{font-family:Courier New,monospace;font-size:8rem;font-weight:100;line-height:1;margin:0;text-shadow:0 4px 8px rgba(0,0,0,.3)}.ActivePassTimer_timer-footer__HUD0y{margin-bottom:2rem}.ActivePassTimer_return-button__sewuY{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:hsla(0,0%,100%,.2);border:2px solid #fff;border-radius:50px;color:#fff;cursor:pointer;font-size:1.5rem;font-weight:600;letter-spacing:1px;padding:1rem 3rem;text-transform:uppercase;transition:all .3s ease}.ActivePassTimer_return-button__sewuY:hover:not(:disabled){background:hsla(0,0%,100%,.3);box-shadow:0 8px 16px rgba(0,0,0,.2);transform:translateY(-2px)}.ActivePassTimer_return-button__sewuY:disabled{cursor:not-allowed;opacity:.6;transform:none}@media (max-width:768px){.ActivePassTimer_timer-time__cinQF{font-size:6rem}.ActivePassTimer_timer-header__KUw0c h2{font-size:2rem}.ActivePassTimer_timer-header__KUw0c p{font-size:1rem}.ActivePassTimer_return-button__sewuY{font-size:1.2rem;padding:.8rem 2rem}}@media (max-width:480px){.ActivePassTimer_timer-time__cinQF{font-size:4rem}.ActivePassTimer_timer-header__KUw0c h2{font-size:1.5rem}.ActivePassTimer_active-pass-timer__0Ege0{padding:1rem}}.PositionChangeNotification_position-notification__QJq2X{animation:PositionChangeNotification_slideInRight__KeBJ2 .3s ease-out;border-radius:8px;box-shadow:0 4px 16px rgba(0,0,0,.15);cursor:pointer;max-width:400px;position:fixed;right:20px;top:20px;transform-origin:right center;z-index:1100}.PositionChangeNotification_position-notification__QJq2X.PositionChangeNotification_leaving__DvZPm{animation:PositionChangeNotification_slideOutRight__KbSuK .2s ease-in forwards}@keyframes PositionChangeNotification_slideInRight__KeBJ2{0%{opacity:0;transform:translateX(100%) scale(.9)}to{opacity:1;transform:translateX(0) scale(1)}}@keyframes PositionChangeNotification_slideOutRight__KbSuK{0%{opacity:1;transform:translateX(0) scale(1)}to{opacity:0;transform:translateX(100%) scale(.9)}}.PositionChangeNotification_position-notification__QJq2X.PositionChangeNotification_warning__LMsb6{background-color:#fef3c7;border:1px solid #f59e0b;color:#92400e}.PositionChangeNotification_position-notification__QJq2X.PositionChangeNotification_info__21dXA{background-color:#dbeafe;border:1px solid #3b82f6;color:#1e3a8a}.PositionChangeNotification_notification-content__Go45h{align-items:flex-start;display:flex;gap:12px;padding:16px}.PositionChangeNotification_notification-icon__ePC\+l{flex-shrink:0;font-size:1.5rem;margin-top:2px}.PositionChangeNotification_notification-text__RjA4Q{flex:1 1;min-width:0}.PositionChangeNotification_notification-title__VERBD{font-size:1rem;font-weight:600;line-height:1.4;margin-bottom:4px}.PositionChangeNotification_notification-message__oJdA5{font-size:.875rem;line-height:1.4;opacity:.8}.PositionChangeNotification_notification-close__JNlqw{align-items:center;background:none;border:none;border-radius:50%;cursor:pointer;display:flex;flex-shrink:0;font-size:1.25rem;font-weight:700;height:24px;justify-content:center;opacity:.6;padding:0;transition:background-color .2s ease;width:24px}.PositionChangeNotification_notification-close__JNlqw:hover{opacity:1}.PositionChangeNotification_position-notification__QJq2X.PositionChangeNotification_warning__LMsb6 .PositionChangeNotification_notification-close__JNlqw:hover{background-color:rgba(245,158,11,.2)}.PositionChangeNotification_position-notification__QJq2X.PositionChangeNotification_info__21dXA .PositionChangeNotification_notification-close__JNlqw:hover{background-color:rgba(59,130,246,.2)}@media (max-width:768px){.PositionChangeNotification_position-notification__QJq2X{left:10px;max-width:none;right:10px;top:10px}.PositionChangeNotification_notification-content__Go45h{gap:10px;padding:14px}.PositionChangeNotification_notification-icon__ePC\+l{font-size:1.25rem}.PositionChangeNotification_notification-title__VERBD{font-size:.95rem}.PositionChangeNotification_notification-message__oJdA5{font-size:.825rem}}@media (max-width:480px){.PositionChangeNotification_position-notification__QJq2X{left:8px;right:8px;top:8px}.PositionChangeNotification_notification-content__Go45h{padding:12px}.PositionChangeNotification_notification-title__VERBD{font-size:.9rem}.PositionChangeNotification_notification-message__oJdA5{font-size:.8rem}}@media (prefers-reduced-motion:reduce){.PositionChangeNotification_position-notification__QJq2X{animation:none}.PositionChangeNotification_position-notification__QJq2X.PositionChangeNotification_leaving__DvZPm{animation:none;opacity:0}}.ScheduleErrorScreen_schedule-error-screen__2UIoa{align-items:center;background-color:#f7fafc;display:flex;justify-content:center;min-height:100vh;padding:20px}.ScheduleErrorScreen_error-container__AKoFt{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 4px 6px rgba(0,0,0,.1);max-width:500px;padding:40px 30px;text-align:center;width:100%}.ScheduleErrorScreen_error-icon__2qaUQ{display:flex;justify-content:center;margin-bottom:24px}.ScheduleErrorScreen_error-title__MlEbC{color:#2d3748;font-size:24px;font-weight:600;margin-bottom:16px;margin-top:0}.ScheduleErrorScreen_error-message__U0RqM{color:#4a5568;font-size:16px;line-height:1.6;margin-bottom:32px}.ScheduleErrorScreen_error-actions__NQyOW{border-top:1px solid #e2e8f0;padding-top:24px}.ScheduleErrorScreen_contact-message__a\+7Z1{color:#2b6cb0;font-size:15px;font-weight:500;margin-bottom:20px}.ScheduleErrorScreen_refresh-button__5DAKD{background-color:#3182ce;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:12px 24px;transition:background-color .2s ease}.ScheduleErrorScreen_refresh-button__5DAKD:hover{background-color:#2c5aa0}.ScheduleErrorScreen_refresh-button__5DAKD:focus{box-shadow:0 0 0 3px rgba(49,130,206,.3);outline:none}.ScheduleErrorScreen_error-details__jQMZX{border-top:1px solid #e2e8f0;margin-top:24px;padding-top:16px;text-align:left}.ScheduleErrorScreen_error-details__jQMZX summary{color:#718096;cursor:pointer;font-size:14px;margin-bottom:12px}.ScheduleErrorScreen_error-details__jQMZX summary:hover{color:#4a5568}.ScheduleErrorScreen_error-stack__faCnw{background-color:#f7fafc;border:1px solid #e2e8f0;border-radius:6px;color:#2d3748;font-size:12px;overflow-x:auto;padding:12px;white-space:pre-wrap;word-break:break-word}@media (max-width:600px){.ScheduleErrorScreen_schedule-error-screen__2UIoa{min-height:100vh;padding:10px}.ScheduleErrorScreen_error-container__AKoFt{padding:30px 20px}.ScheduleErrorScreen_error-title__MlEbC{font-size:20px}.ScheduleErrorScreen_error-message__U0RqM{font-size:15px}}.LoadingScreen_loading-screen__snpjs{align-items:center;background-color:#f5f5f5;display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;justify-content:center;min-height:100vh}.LoadingScreen_loading-content__UbGCu{align-items:center;display:flex;flex-direction:column;gap:20px;text-align:center}.LoadingScreen_loading-spinner__fApyB{align-items:center;display:flex;justify-content:center}.LoadingScreen_spinner__l7eSZ{animation:LoadingScreen_spin__WG\+uK 1s linear infinite;border:4px solid #e3e3e3;border-radius:50%;border-top-color:#007bff;height:40px;width:40px}@keyframes LoadingScreen_spin__WG\+uK{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.LoadingScreen_loading-message__FbdH\+{color:#666;font-size:16px;font-weight:500}.StudentDashboard_dashboard__6jQlB{background:#f5f5f5;min-height:100vh}.StudentDashboard_dashboard__6jQlB header{align-items:center;background:#1976d2;color:#fff;display:flex;gap:2rem;justify-content:space-between;padding:1rem 2rem}.StudentDashboard_dashboard__6jQlB header h1{margin:0}.StudentDashboard_dashboard__6jQlB header button{background:hsla(0,0%,100%,.2);border:none;border-radius:4px;color:#fff;cursor:pointer;padding:8px 16px}.StudentDashboard_dashboard__6jQlB header button:hover{background:hsla(0,0%,100%,.3)}.StudentDashboard_dashboard__6jQlB main{margin:0 auto;max-width:1200px;padding:2rem}.StudentDashboard_period-info__doqRE{font-size:.9rem;margin-top:.5rem}.StudentDashboard_period-info__doqRE span{margin-right:.8rem}.StudentDashboard_current-period__fnCBK{color:hsla(0,0%,100%,.95);font-weight:600}.StudentDashboard_ab-day__3Bfsn{color:hsla(0,0%,100%,.8);font-weight:500}.StudentDashboard_schedule-type__bB64j{color:hsla(0,0%,100%,.7);text-transform:capitalize}.StudentDashboard_time-remaining__I9YWG{color:hsla(0,0%,100%,.8);font-weight:500}.StudentDashboard_no-period__Oa3x3{color:hsla(0,0%,100%,.6);font-style:italic}.StudentDashboard_bug-report-link__U-XyJ{color:#fff!important;margin-right:15px;text-decoration:underline!important;-webkit-text-decoration-color:#fff!important;text-decoration-color:#fff!important;-webkit-text-decoration-line:underline!important;text-decoration-line:underline!important;-webkit-text-decoration-style:solid!important;text-decoration-style:solid!important}.StudentDashboard_bug-report-link__U-XyJ:hover{text-decoration:underline!important;-webkit-text-decoration-line:underline!important;text-decoration-line:underline!important}.StudentDashboard_dev-mode-badge__O1Zrn{align-items:center;animation:StudentDashboard_pulse-dev__XClNo 2s infinite;background:linear-gradient(135deg,#ff9800,#f57c00);border-radius:20px;box-shadow:0 2px 4px rgba(245,124,0,.3);color:#fff;display:inline-flex;font-size:.8rem;font-weight:600;gap:.3rem;letter-spacing:.5px;padding:.3rem .8rem;text-transform:uppercase}@keyframes StudentDashboard_pulse-dev__XClNo{0%,to{opacity:1}50%{opacity:.7}}.StudentDashboard_logout-btn__5lfzD{background:#e53e3e;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:8px 20px}.StudentDashboard_logout-btn__5lfzD:hover{background:#c53030}.StudentDashboard_header-right__wDf-Y>:not(:last-child){margin-right:15px}.StudentDashboard_org-name__k429k{background:#fed7d7;border-radius:20px;color:#742a2a;display:inline-block;font-size:14px;font-weight:600;padding:6px 16px}.StudentDashboard_new-pass__zk7wC,.StudentDashboard_pending-pass__m\+Htn,.StudentDashboard_queued-pass__YEAGy{background:#fff;border-radius:8px;box-shadow:0 2px 4px rgba(0,0,0,.1);margin-bottom:1.5rem;padding:1.5rem}.StudentDashboard_pending-pass__m\+Htn{border-left:4px solid #1976d2}.StudentDashboard_waiting-pass-actions__9VBcJ{display:flex;gap:15px;margin-top:1rem}.StudentDashboard_cancel-pass-btn__F7GKu,.StudentDashboard_cancel-request-btn__KO6k3{background:var(--btn-secondary-bg);border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:1rem;padding:12px 24px;transition:background .2s}.StudentDashboard_cancel-pass-btn__F7GKu:hover,.StudentDashboard_cancel-request-btn__KO6k3:hover{background:var(--btn-secondary-bg-hover)}.StudentDashboard_queued-pass__YEAGy{border-left:4px solid #ff9800}.StudentDashboard_new-pass__zk7wC textarea{border:1px solid #ddd;border-radius:4px;margin-bottom:1rem;padding:12px;resize:vertical;width:100%}.StudentDashboard_temporal-restriction-status__-pHst{margin-bottom:1rem}.StudentDashboard_restriction-notice__gqDbc{background-color:#fff3cd;border:1px solid #ffc107;border-left-width:4px;border-radius:4px;color:#856404;font-size:.95rem;font-weight:500;padding:10px 14px}.StudentDashboard_limits-info__ncGJg{background-color:#f5f5f5;border-radius:4px;color:#666;font-size:.85rem;margin-bottom:1rem;padding:8px 12px}.StudentDashboard_limits-restriction-notice__\+n5-f{background-color:#ffebee;border:1px solid #d32f2f;border-radius:4px;color:#d32f2f;font-size:.9rem;margin-top:1rem;padding:8px 12px}.StudentDashboard_new-pass__zk7wC .StudentDashboard_form-group__fylPm{margin-bottom:1rem}.StudentDashboard_new-pass__zk7wC .StudentDashboard_form-group__fylPm label{color:#333;display:block;font-weight:600;margin-bottom:.5rem}.StudentDashboard_new-pass__zk7wC .StudentDashboard_destination-select__cV8oD,.StudentDashboard_new-pass__zk7wC .StudentDashboard_teacher-select__5kMqG{background:#fff;border:1px solid #ddd;border-radius:4px;font-size:1rem;padding:12px;width:100%}.StudentDashboard_new-pass__zk7wC .StudentDashboard_destination-select__cV8oD:focus,.StudentDashboard_new-pass__zk7wC .StudentDashboard_teacher-select__5kMqG:focus{border-color:#1976d2;box-shadow:0 0 0 2px rgba(25,118,210,.2);outline:none}.StudentDashboard_new-pass__zk7wC .StudentDashboard_submit-pass-btn__KfOuF{background:#1976d2;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:1rem;margin-top:1rem;padding:12px 24px;width:100%}.StudentDashboard_new-pass__zk7wC .StudentDashboard_submit-pass-btn__KfOuF:disabled{background:#ccc;cursor:not-allowed}.StudentDashboard_pass-history__OiRR7{background:#fff;border-radius:8px;box-shadow:0 2px 4px rgba(0,0,0,.1);padding:1.5rem}.StudentDashboard_pass-history__OiRR7 ul{list-style:none}.StudentDashboard_pass-history__OiRR7 li{border-bottom:1px solid #eee;padding:1rem}.StudentDashboard_pass-history__OiRR7 li:last-child{border-bottom:none}.StudentDashboard_waiting-pass__BfEJY{background:#fff8e1;border-left:4px solid #ff9800}.SearchFilter_search-filter__FuuEk{flex:1 1;min-width:250px;position:relative}.SearchFilter_search-input-container__V2jQv{align-items:center;display:flex;position:relative}.SearchFilter_search-input__oyxco{border:2px solid #ddd;border-radius:8px;font-size:14px;outline:none;padding:12px 40px 12px 16px;transition:border-color .2s ease;width:100%}.SearchFilter_search-input__oyxco:focus{border-color:#1976d2;box-shadow:0 0 0 3px rgba(25,118,210,.1)}.SearchFilter_search-clear-btn__mDkkE{align-items:center;background:none;border:none;border-radius:50%;color:#999;cursor:pointer;display:flex;font-size:20px;height:20px;justify-content:center;padding:0;position:absolute;right:12px;transition:background-color .2s ease;width:20px}.SearchFilter_search-clear-btn__mDkkE:hover{background-color:#f0f0f0;color:#666}.PaginationControls_pagination-controls__5PArL{align-items:center;background:#f8f9fa;border-radius:8px;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin:1rem 0;padding:1rem}.PaginationControls_pagination-info__wD2vz{color:#666;font-size:14px}.PaginationControls_pagination-buttons__mE9wW{align-items:center;display:flex;gap:.5rem}.PaginationControls_pagination-btn__-n2NX{background:#fff;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-size:14px;padding:8px 12px;transition:all .2s ease}.PaginationControls_pagination-btn__-n2NX:hover:not(:disabled){background:#f0f0f0;border-color:#ccc}.PaginationControls_pagination-btn__-n2NX:disabled{cursor:not-allowed;opacity:.5}.PaginationControls_page-info__Pcf0b{color:#333;font-weight:500;padding:0 1rem}.TeacherPassSubmission_teacher-pass-submission-modal__dxYl1{align-items:center;bottom:0;display:flex;justify-content:center;left:0;pointer-events:auto;position:fixed;right:0;top:0;z-index:10000}.TeacherPassSubmission_teacher-pass-modal-overlay__daYrY{background:rgba(0,0,0,.7);bottom:0;cursor:pointer;left:0;position:absolute;right:0;top:0}.TeacherPassSubmission_modal-content__x6wca{background:#fff;border-radius:8px;box-shadow:0 4px 20px rgba(0,0,0,.15);cursor:default;display:flex;flex-direction:column;max-height:80vh;max-width:500px;pointer-events:auto;position:relative;width:90%;z-index:1}.TeacherPassSubmission_modal-header__tVBv\+{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:20px}.TeacherPassSubmission_modal-header__tVBv\+ h2{color:#333;font-size:1.5rem;margin:0}.TeacherPassSubmission_close-button__am9L5{align-items:center;background:none;border:none;color:#666;cursor:pointer;display:flex;font-size:1.5rem;height:30px;justify-content:center;padding:0;transition:color .2s;width:30px}.TeacherPassSubmission_close-button__am9L5:hover{color:#000}.TeacherPassSubmission_modal-body__sN95M{flex:1 1;overflow-y:auto;padding:20px}.TeacherPassSubmission_form-group__otNp3{margin-bottom:20px}.TeacherPassSubmission_form-group__otNp3 label{color:#333;display:block;font-weight:500;margin-bottom:8px}.TeacherPassSubmission_search-container__fZj3I{position:relative}.TeacherPassSubmission_student-search-input__QnvI\+{border:1px solid #ddd;border-radius:4px;font-size:1rem;padding:10px;width:100%}.TeacherPassSubmission_student-search-input__QnvI\+:focus{border-color:#4caf50;box-shadow:0 0 0 2px rgba(76,175,80,.1);outline:none}.TeacherPassSubmission_searching-indicator__2UGbs{color:#666;font-size:.9rem;position:absolute;right:10px;top:50%;transform:translateY(-50%)}.TeacherPassSubmission_teacher-pass-submission-modal__dxYl1 .TeacherPassSubmission_search-results__C85wh{background:#fff;border:1px solid #ddd;border-radius:0 0 4px 4px;border-top:none;box-shadow:0 4px 6px rgba(0,0,0,.1);left:0;max-height:200px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:1001}.TeacherPassSubmission_search-result-item__im41K{border-bottom:1px solid #f0f0f0;cursor:pointer;padding:10px;transition:background-color .2s}.TeacherPassSubmission_search-result-item__im41K:hover{background-color:#f5f5f5}.TeacherPassSubmission_search-result-item__im41K:last-child{border-bottom:none}.TeacherPassSubmission_student-name__tSF0p{color:#333;font-weight:500}.TeacherPassSubmission_selected-student__-E9dH{background:#e8f5e9;border-radius:4px;color:#2e7d32;font-size:.9rem;margin-top:8px;padding:8px}.TeacherPassSubmission_destination-select__aAnDt{background:#fff;border:1px solid #ddd;border-radius:4px;font-size:1rem;padding:10px;width:100%}.TeacherPassSubmission_destination-select__aAnDt:focus{border-color:#4caf50;box-shadow:0 0 0 2px rgba(76,175,80,.1);outline:none}.TeacherPassSubmission_note-textarea__736Mg{border:1px solid #ddd;border-radius:4px;font-size:1rem;min-height:60px;padding:10px;resize:vertical;width:100%}.TeacherPassSubmission_note-textarea__736Mg:focus{border-color:#4caf50;box-shadow:0 0 0 2px rgba(76,175,80,.1);outline:none}.TeacherPassSubmission_modal-footer__HihTc{border-top:1px solid #e0e0e0;display:flex;gap:10px;justify-content:flex-end;padding:20px}.TeacherPassSubmission_btn-primary__AHrmA,.TeacherPassSubmission_btn-secondary__r5Jp9{border:none;border-radius:4px;cursor:pointer;font-size:1rem;font-weight:500;padding:10px 20px;transition:all .2s}.TeacherPassSubmission_btn-secondary__r5Jp9{background:#f5f5f5;color:#333}.TeacherPassSubmission_btn-secondary__r5Jp9:hover:not(:disabled){background:#e0e0e0}.TeacherPassSubmission_btn-primary__AHrmA{background:#2196f3;color:#fff}.TeacherPassSubmission_btn-primary__AHrmA:hover:not(:disabled){background:#1976d2}.TeacherPassSubmission_btn-secondary__r5Jp9:disabled{cursor:not-allowed;opacity:.7}.TeacherPassSubmission_btn-primary__AHrmA:disabled{background:#ccc;color:#666;cursor:not-allowed;opacity:.6}.TeacherDashboard_dashboard__0WA\+R{background:#f5f5f5;min-height:100vh}.TeacherDashboard_dashboard__0WA\+R header{align-items:center;background:#1976d2;color:#fff;display:flex;gap:2rem;justify-content:space-between;padding:1rem 2rem}.TeacherDashboard_dashboard__0WA\+R header h1{margin:0}.TeacherDashboard_dashboard__0WA\+R header button{background:hsla(0,0%,100%,.2);border:none;border-radius:4px;color:#fff;cursor:pointer;padding:8px 16px}.TeacherDashboard_dashboard__0WA\+R header button:hover{background:hsla(0,0%,100%,.3)}.TeacherDashboard_dashboard__0WA\+R main{margin:0 auto;max-width:1200px;padding:2rem}.TeacherDashboard_period-info__OeBjc{font-size:.9rem;margin-top:.5rem}.TeacherDashboard_period-info__OeBjc span{margin-right:.8rem}.TeacherDashboard_current-period__ctxWB{color:hsla(0,0%,100%,.95);font-weight:600}.TeacherDashboard_ab-day__ylMEL{color:hsla(0,0%,100%,.8);font-weight:500}.TeacherDashboard_schedule-type__\+VelY{color:hsla(0,0%,100%,.7);text-transform:capitalize}.TeacherDashboard_time-remaining__3eMG4{color:hsla(0,0%,100%,.8);font-weight:500}.TeacherDashboard_no-period__5M5lW{color:hsla(0,0%,100%,.6);font-style:italic}.TeacherDashboard_bug-report-link__BtHOP{color:#fff!important;margin-right:15px;text-decoration:underline!important;-webkit-text-decoration-color:#fff!important;text-decoration-color:#fff!important;-webkit-text-decoration-line:underline!important;text-decoration-line:underline!important;-webkit-text-decoration-style:solid!important;text-decoration-style:solid!important}.TeacherDashboard_bug-report-link__BtHOP:hover{text-decoration:underline!important;-webkit-text-decoration-line:underline!important;text-decoration-line:underline!important}.TeacherDashboard_dev-mode-badge__kdgdp{align-items:center;animation:TeacherDashboard_pulse-dev__nJUjf 2s infinite;background:linear-gradient(135deg,#ff9800,#f57c00);border-radius:20px;box-shadow:0 2px 4px rgba(245,124,0,.3);color:#fff;display:inline-flex;font-size:.8rem;font-weight:600;gap:.3rem;letter-spacing:.5px;padding:.3rem .8rem;text-transform:uppercase}@keyframes TeacherDashboard_pulse-dev__nJUjf{0%,to{opacity:1}50%{opacity:.7}}.TeacherDashboard_control-group__Qpvhf{display:flex;flex-direction:column;gap:.5rem}.TeacherDashboard_control-group__Qpvhf label{color:#333;font-weight:600}.TeacherDashboard_control-group__Qpvhf select{background:#fff;border:1px solid #ddd;border-radius:4px;padding:10px}.TeacherDashboard_teacher-controls__PjDus{align-items:center;background:#fff;border-radius:8px;box-shadow:0 2px 4px rgba(0,0,0,.1);display:flex;flex-wrap:wrap;gap:2rem;margin:1rem 2rem;padding:1.5rem}.TeacherDashboard_teacher-controls__PjDus .TeacherDashboard_control-group__Qpvhf{display:flex;flex-direction:column;gap:.5rem}.TeacherDashboard_teacher-controls__PjDus .TeacherDashboard_control-group__Qpvhf label{color:#333;font-size:.9rem;font-weight:600}.TeacherDashboard_teacher-controls__PjDus .TeacherDashboard_class-section-select__PhVRa,.TeacherDashboard_teacher-controls__PjDus .TeacherDashboard_period-select__1kgjx,.TeacherDashboard_teacher-controls__PjDus .TeacherDashboard_teacher-select__9T8uo{background:#fff;border:1px solid #ddd;border-radius:4px;min-width:150px;padding:8px 12px}.TeacherDashboard_teacher-controls__PjDus .TeacherDashboard_viewing-info__DLa7U{color:#666;font-style:italic;margin-left:auto}.TeacherDashboard_action-buttons__6Kz7N{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-top:1rem}.TeacherDashboard_pass-sections__4bQch{background:#fff;border-radius:8px;box-shadow:0 2px 4px rgba(0,0,0,.1);padding:1.5rem}.TeacherDashboard_pass-sections__4bQch section{margin-bottom:2rem}.TeacherDashboard_pass-sections__4bQch section:last-child{margin-bottom:0}.TeacherDashboard_pass-list__0\+5Iq{grid-gap:1rem;display:grid;gap:1rem}.TeacherDashboard_pass-card__HF5rg{align-items:center;border:1px solid #eee;border-radius:4px;display:flex;justify-content:space-between;padding:1rem}.TeacherDashboard_pass-info__g5i49 strong{display:block;margin-bottom:.5rem}.TeacherDashboard_pass-actions__iyufD{display:flex;gap:.5rem}.TeacherDashboard_approve-btn__X3\+sV{background:#4caf50}.TeacherDashboard_approve-btn__X3\+sV,.TeacherDashboard_deny-btn__jTo3g{border:none;border-radius:4px;color:#fff;cursor:pointer;padding:8px 16px}.TeacherDashboard_deny-btn__jTo3g{background:#f44336}.TeacherDashboard_return-btn__9l8aQ{background:#2196f3;border:none;border-radius:4px;color:#fff;cursor:pointer;padding:8px 16px}.TeacherDashboard_cancel-btn__VulOU{background:#6c757d;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:600;padding:12px 24px;transition:background .2s}.TeacherDashboard_cancel-btn__VulOU:hover{background:#5a6268}.TeacherDashboard_waiting-pass__C8Pci{background:#fff8e1;border-left:4px solid #ff9800}.TeacherDashboard_waiting-badge__4nZCd{background:#4caf50;border-radius:4px;color:#fff;display:inline-block;font-size:.8rem;font-weight:500;margin-top:.5rem;padding:4px 8px}.TeacherDashboard_pass-history-section__nuD3L{background:#fff;border-radius:8px;box-shadow:0 2px 4px rgba(0,0,0,.1);margin-top:30px;padding:20px}.TeacherDashboard_pass-history-section__nuD3L h2{color:#333;font-size:1.5rem;margin-bottom:20px;margin-top:0}.CollapsibleSection_collapsible-section__LtHsy{background:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 2px 4px rgba(0,0,0,.1);margin-bottom:2rem;overflow:hidden}.CollapsibleSection_collapsible-header__25dKi{align-items:center;background:#f8f9fa;border-bottom:1px solid #e0e0e0;cursor:pointer;display:flex;justify-content:space-between;padding:1rem 1.5rem;transition:background-color .2s ease;-webkit-user-select:none;user-select:none}.CollapsibleSection_collapsible-header__25dKi:hover{background:#e9ecef}.CollapsibleSection_collapsible-header__25dKi h2{align-items:center;display:flex;font-size:1.2rem;font-weight:600;gap:.5rem;margin:0}.CollapsibleSection_section-icon__itPqB{font-size:1.2rem}.CollapsibleSection_collapse-toggle__vRdXP{align-items:center;background:none;border:none;border-radius:4px;cursor:pointer;display:flex;justify-content:center;padding:4px;transition:background-color .2s ease}.CollapsibleSection_collapse-toggle__vRdXP:hover{background:rgba(0,0,0,.1)}.CollapsibleSection_toggle-icon__L0z\+y{color:#666;font-size:14px;transition:transform .3s ease}.CollapsibleSection_toggle-icon__L0z\+y.CollapsibleSection_expanded__UYMoP{transform:rotate(180deg)}.CollapsibleSection_toggle-icon__L0z\+y.CollapsibleSection_collapsed__jBUdN{transform:rotate(0deg)}.CollapsibleSection_collapsible-content__ALZ1W{overflow:hidden;transition:max-height .3s ease}.CollapsibleSection_collapsible-content__ALZ1W.CollapsibleSection_expanded__UYMoP{max-height:none}.CollapsibleSection_collapsible-content__ALZ1W.CollapsibleSection_collapsed__jBUdN{max-height:0}.CollapsibleSection_content-inner__Olyy3{padding:1.5rem}.CollapsibleSection_collapsible-section__LtHsy.CollapsibleSection_collapsed__jBUdN .CollapsibleSection_collapsible-header__25dKi{border-bottom:none}.CollapsibleSection_section-controls__MygV6{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem}.PassPolicyPanel_settings-card__zbsrI{padding:0}.PassPolicyPanel_paragraph__oSsF1{color:#6c757d;line-height:1.5;margin:0 0 1rem}.PassPolicyPanel_form-group__UVoAJ{margin-bottom:1.25rem}.PassPolicyPanel_form-group__UVoAJ label{display:block;font-weight:600;margin-bottom:.375rem}.PassPolicyPanel_form-group__UVoAJ small{color:#666;display:block;line-height:1.4;margin-top:.375rem}.PassPolicyPanel_form-input__5g2LI{border:1px solid #ddd;border-radius:4px;min-width:240px;padding:8px 12px}.shared_primary__7YPZK{background:var(--btn-primary-bg);border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:600;padding:.75rem 1.5rem;transition:background-color .2s ease}.shared_primary__7YPZK:hover{background:var(--btn-primary-bg-hover)}.shared_primary__7YPZK:disabled{background:#9ca3af;cursor:not-allowed}.shared_secondary__HKND\+{background:var(--btn-secondary-bg);border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:600;padding:.75rem 1.5rem;transition:background-color .2s ease}.shared_secondary__HKND\+:hover{background:var(--btn-secondary-bg-hover)}.shared_secondary__HKND\+:disabled{background:#9ca3af;cursor:not-allowed}.shared_danger__lkW7-{background:var(--btn-danger-bg);border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:600;padding:.75rem 1.5rem;transition:background-color .2s ease}.shared_danger__lkW7-:hover{background:var(--btn-danger-bg-hover)}.shared_danger__lkW7-:disabled{background:#9ca3af;cursor:not-allowed}.SchoolSetupWizard_school-setup-wizard__mZX9U{background:#fff;border-radius:8px;box-shadow:0 2px 10px rgba(0,0,0,.1);margin:0 auto;max-width:1000px;padding:2rem}.SchoolSetupWizard_setup-header__tWKvm{margin-bottom:2rem;text-align:center}.SchoolSetupWizard_setup-header__tWKvm h2{color:#2563eb;margin-bottom:.5rem}.SchoolSetupWizard_setup-header__tWKvm p{color:#64748b;margin-bottom:2rem}.SchoolSetupWizard_setup-progress__0-io5{align-items:center;display:flex;gap:2rem;justify-content:center;margin-bottom:2rem}.SchoolSetupWizard_setup-progress__0-io5 .SchoolSetupWizard_step__Ez4lq{align-items:center;display:flex;flex-direction:column;gap:.5rem;opacity:.5;transition:opacity .3s ease}.SchoolSetupWizard_setup-progress__0-io5 .SchoolSetupWizard_step__Ez4lq.SchoolSetupWizard_active__sp\+nz{opacity:1}.SchoolSetupWizard_setup-progress__0-io5 .SchoolSetupWizard_step__Ez4lq span{align-items:center;background:#e2e8f0;border-radius:50%;color:#64748b;display:flex;font-weight:600;height:40px;justify-content:center;transition:all .3s ease;width:40px}.SchoolSetupWizard_setup-progress__0-io5 .SchoolSetupWizard_step__Ez4lq.SchoolSetupWizard_active__sp\+nz span{background:#2563eb;color:#fff}.SchoolSetupWizard_setup-progress__0-io5 .SchoolSetupWizard_step__Ez4lq label{color:#64748b;font-size:.875rem;font-weight:500}.SchoolSetupWizard_setup-progress__0-io5 .SchoolSetupWizard_step__Ez4lq.SchoolSetupWizard_active__sp\+nz label{color:#2563eb}.SchoolSetupWizard_school-type-options__WSjgz{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin:2rem 0}.SchoolSetupWizard_school-type-card__e1TC9{border:2px solid #e2e8f0;border-radius:8px;cursor:pointer;padding:1.5rem;text-align:center;transition:all .3s ease}.SchoolSetupWizard_school-type-card__e1TC9:hover{border-color:#2563eb;box-shadow:0 4px 12px rgba(37,99,235,.1)}.SchoolSetupWizard_school-type-card__e1TC9.SchoolSetupWizard_selected__vhAGP{background:#eff6ff;border-color:#2563eb}.SchoolSetupWizard_school-type-card__e1TC9 h4{color:#1e293b;margin-bottom:.5rem}.SchoolSetupWizard_school-type-card__e1TC9 p{color:#64748b;font-size:.875rem;margin:0}.SchoolSetupWizard_period-count-section__2kMW3{background:#f8fafc;border-radius:8px;margin-top:2rem;padding:1.5rem}.SchoolSetupWizard_period-count-section__2kMW3 label{color:#1e293b;display:block;font-weight:600;margin-bottom:.5rem}.SchoolSetupWizard_period-count-input__8KTtb{border:1px solid #d1d5db;border-radius:4px;font-size:1rem;margin-left:1rem;padding:.5rem;width:100px}.SchoolSetupWizard_period-count-section__2kMW3 small{color:#64748b;display:block;font-style:italic;margin-top:.5rem}.SchoolSetupWizard_timezone-section__2IkSc{background:#f8fafc;border-radius:8px;margin-top:2rem;padding:1.5rem}.SchoolSetupWizard_timezone-section__2IkSc label{color:#1e293b;display:block;font-weight:600;margin-bottom:.5rem}.SchoolSetupWizard_timezone-select__00OBi{background:#fff;border:1px solid #d1d5db;border-radius:4px;font-size:.875rem;max-width:300px;padding:.5rem;width:100%}.SchoolSetupWizard_timezone-section__2IkSc small{color:#64748b;display:block;font-style:italic;margin-top:.5rem}.SchoolSetupWizard_semester-config-section__5aVlN{display:flex;flex-direction:column;gap:2rem}.SchoolSetupWizard_academic-year-section__jeNxL{background:#f8fafc;border-radius:8px;padding:1.5rem}.SchoolSetupWizard_academic-year-section__jeNxL label{color:#1e293b;display:block;font-weight:600;margin-bottom:.5rem}.SchoolSetupWizard_academic-year-select__SCdKU{background:#fff;border:1px solid #d1d5db;border-radius:4px;font-size:.875rem;margin-left:1rem;padding:.5rem}.SchoolSetupWizard_academic-year-section__jeNxL small{color:#64748b;display:block;font-style:italic;margin-top:.5rem}.SchoolSetupWizard_semester-dates-section__P75oJ{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:1fr 1fr}@media (max-width:768px){.SchoolSetupWizard_semester-dates-section__P75oJ{gap:1rem;grid-template-columns:1fr}}.SchoolSetupWizard_semester-date-group__PvWKi{background:#f8fafc;border-radius:8px;padding:1.5rem}.SchoolSetupWizard_semester-date-group__PvWKi label{color:#1e293b;display:block;font-weight:600;margin-bottom:.5rem}.SchoolSetupWizard_semester-date-input__ctLEE{background:#fff;border:1px solid #d1d5db;border-radius:4px;font-size:.875rem;margin-top:.5rem;padding:.5rem;width:100%}.SchoolSetupWizard_semester-date-group__PvWKi small{color:#64748b;display:block;font-style:italic;margin-top:.5rem}.SchoolSetupWizard_semester-info-section__E0uCq{background:#f0f9ff;border:1px solid #0ea5e9;border-radius:8px;padding:1.5rem}.SchoolSetupWizard_semester-info-section__E0uCq h4{color:#0c4a6e;margin-bottom:1rem}.SchoolSetupWizard_semester-info-section__E0uCq ul{margin:0;padding-left:1.5rem}.SchoolSetupWizard_semester-info-section__E0uCq li{color:#1e293b;margin-bottom:.5rem}.SchoolSetupWizard_schedule-info-section__aYtQY{background:#f0f9ff;border:1px solid #0ea5e9;border-radius:8px;margin:1.5rem 0;padding:1.5rem}.SchoolSetupWizard_schedule-info-section__aYtQY h4,.SchoolSetupWizard_schedule-info-section__aYtQY p{color:#0c4a6e;margin-bottom:1rem}.SchoolSetupWizard_schedule-info-section__aYtQY ul{margin:0;padding-left:1.5rem}.SchoolSetupWizard_schedule-info-section__aYtQY li{color:#0c4a6e;margin-bottom:.5rem}.SchoolSetupWizard_schedule-form-container__b8xoq{margin:2rem 0}.SchoolSetupWizard_block-schedule-layout__Rv6us{display:flex!important;flex-direction:column!important;gap:2rem;margin:2rem 0;width:100%}div.SchoolSetupWizard_block-schedule-layout__Rv6us{display:flex!important;flex-direction:column!important;flex-wrap:nowrap!important}div.SchoolSetupWizard_block-schedule-layout__Rv6us .SchoolSetupWizard_schedule-column__XzHKr{flex:1 1 auto;margin-bottom:1rem;max-width:100%;min-width:0}.SchoolSetupWizard_regular-schedule-layout__LyqVh{margin:2rem 0}.SchoolSetupWizard_schedule-column__XzHKr{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;display:block;padding:1.5rem;width:100%}.SchoolSetupWizard_schedule-column__XzHKr h4{border-bottom:2px solid #e2e8f0;color:#1e293b;margin-bottom:1rem;margin-top:0;padding-bottom:.5rem}.SchoolSetupWizard_periods-list__rWLaQ{display:flex;flex-direction:column;gap:.5rem}.SchoolSetupWizard_period-form-header__AfKJq{grid-gap:.5rem;align-items:center;background:#1e293b;border-radius:6px 6px 0 0;color:#fff;display:grid;font-size:.75rem;font-weight:600;gap:.5rem;grid-template-columns:2fr 1fr 1fr 100px 100px 140px 60px;padding:.75rem 1rem}.SchoolSetupWizard_period-form-header__AfKJq span{text-align:center}.SchoolSetupWizard_header-period-name__h0Edd{text-align:left!important}.SchoolSetupWizard_period-count-summary__Ix67i{color:#64748b;font-weight:600;margin:0 0 1rem;text-align:center}.SchoolSetupWizard_no-periods-message__1nLEl{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;color:#64748b;font-style:italic;margin:0;padding:2rem;text-align:center}.SchoolSetupWizard_period-form-row__cqa3T{grid-gap:.5rem;align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:0;border-top:none;display:grid;gap:.5rem;grid-template-columns:2fr 1fr 1fr 100px 100px 140px 60px;padding:1rem}.SchoolSetupWizard_period-form-row__cqa3T:last-child{border-radius:0 0 6px 6px}.SchoolSetupWizard_period-form-row__cqa3T.SchoolSetupWizard_special-period__UH-5X{background:#fef3c7;border-color:#f59e0b}.SchoolSetupWizard_period-name-input__EIOmj,.SchoolSetupWizard_time-input__J8xYy{border:1px solid #d1d5db;border-radius:4px;font-size:.875rem;padding:.5rem}.SchoolSetupWizard_remove-period-btn__\+aCm6{align-items:center;background:#ef4444;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:1.2rem;font-weight:700;height:32px;justify-content:center;transition:background-color .2s ease;width:32px}.SchoolSetupWizard_remove-period-btn__\+aCm6:hover{background:#dc2626}.SchoolSetupWizard_add-period-buttons__GW-uj{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1rem}.SchoolSetupWizard_add-period-btn__NFhVC{background:#10b981;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:500;margin-top:1rem;padding:.75rem 1.5rem;transition:background-color .2s ease}.SchoolSetupWizard_add-period-btn__NFhVC:hover{background:#059669}.SchoolSetupWizard_add-shared-btn__b6pMW{background:#3b82f6}.SchoolSetupWizard_add-shared-btn__b6pMW:hover{background:#2563eb}.SchoolSetupWizard_setup-actions__i2evh{border-top:1px solid #e2e8f0;display:flex;justify-content:space-between;margin-top:2rem;padding-top:2rem}@media (max-width:1024px){.SchoolSetupWizard_block-schedule-layout__Rv6us{gap:1.5rem}}@media (max-width:768px){.SchoolSetupWizard_school-setup-wizard__mZX9U{margin:1rem;padding:1rem}.SchoolSetupWizard_school-type-options__WSjgz{grid-template-columns:1fr}.SchoolSetupWizard_block-schedule-layout__Rv6us{gap:1rem}.SchoolSetupWizard_period-form-header__AfKJq,.SchoolSetupWizard_period-form-row__cqa3T{gap:.75rem;grid-template-columns:1fr}.SchoolSetupWizard_period-form-header__AfKJq{display:none}.SchoolSetupWizard_period-form-row__cqa3T{border-radius:6px;border-top:1px solid #e2e8f0;margin-bottom:1rem}.SchoolSetupWizard_setup-progress__0-io5{gap:1rem}.SchoolSetupWizard_setup-actions__i2evh{flex-direction:column;gap:1rem}.SchoolSetupWizard_schedule-info-section__aYtQY{padding:1rem}.SchoolSetupWizard_add-period-buttons__GW-uj{flex-direction:column}}.SetupChecklist_setup-checklist__OM208{background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;margin:1rem 0 1.5rem;padding:1.25rem 1.5rem}.SetupChecklist_setup-checklist__OM208 h2{align-items:center;color:#1e3a8a;display:flex;font-size:1.1rem;gap:.5rem;margin:0 0 .75rem}.SetupChecklist_setup-checklist-list__N6HGv{display:flex;flex-direction:column;gap:.375rem;list-style:none;margin:0;padding:0}.SetupChecklist_setup-checklist-item__1yqtX{background:transparent;border:none;border-radius:6px;color:#1e40af;cursor:pointer;font-size:.95rem;padding:.5rem .75rem;text-align:left;transition:background-color .2s ease;width:100%}.SetupChecklist_setup-checklist-item__1yqtX:hover{background:#dbeafe}.SetupChecklist_section-icon__FqQLv{font-size:1.2rem}.ActivePassesPanel_stats-section__PT\+QU{background:#fff;border-radius:8px;box-shadow:0 2px 4px rgba(0,0,0,.1);padding:1.5rem}.ActivePassesPanel_stats-grid__z-DO2{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-top:1rem}.ActivePassesPanel_stat-card__D0U5U{background:#f8f9fa;border-radius:4px;padding:1rem;text-align:center}.ActivePassesPanel_stat-card__D0U5U h3{color:#1976d2;font-size:2rem;margin-bottom:.5rem}.ActivePassesPanel_pass-tabs__Gw37O{border-bottom:1px solid #eee;display:flex;gap:.5rem;margin:1rem 0;overflow-x:auto;padding-bottom:.5rem}.ActivePassesPanel_tab-button__GEPY9{background:#f8f9fa;border:1px solid #ddd;border-radius:6px 6px 0 0;cursor:pointer;font-size:.9rem;padding:8px 16px;transition:all .2s;white-space:nowrap}.ActivePassesPanel_tab-button__GEPY9:hover{background:#e9ecef}.ActivePassesPanel_tab-button__GEPY9.ActivePassesPanel_active__aC8uC{background:#1976d2;border-color:#1976d2;color:#fff}.ActivePassesPanel_passes-list__7aCKA{margin-top:1rem;max-height:400px;overflow-y:auto}.ActivePassesPanel_pass-summary__iCOtW{border-bottom:1px solid #eee;padding:1rem;transition:background .2s}.ActivePassesPanel_pass-summary__iCOtW:hover{background:#f8f9fa}.ActivePassesPanel_pass-summary__iCOtW:last-child{border-bottom:none}.ActivePassesPanel_pass-header__-cKkZ{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.ActivePassesPanel_pass-status__dPE4Y{border-radius:4px;font-size:.8rem;font-weight:500;padding:4px 8px;text-transform:capitalize}.ActivePassesPanel_pass-status__dPE4Y.ActivePassesPanel_status-pending__Rj1oH{background:#fff3e0;color:#f57c00}.ActivePassesPanel_pass-status__dPE4Y.ActivePassesPanel_status-waiting__8tGjA{background:#e3f2fd;color:#1976d2}.ActivePassesPanel_pass-status__dPE4Y.ActivePassesPanel_status-active__TNyq5{background:#e8f5e8;color:#388e3c}.ActivePassesPanel_pass-status__dPE4Y.ActivePassesPanel_status-completed__DWIx4{background:#f3e5f5;color:#7b1fa2}.ActivePassesPanel_pass-status__dPE4Y.ActivePassesPanel_status-cancelled__xMpIy{background:#eee;color:#616161}.ActivePassesPanel_pass-status__dPE4Y.ActivePassesPanel_status-denied__aUYL1{background:#ffebee;color:#d32f2f}.ActivePassesPanel_pass-status__dPE4Y.ActivePassesPanel_status-expired__7t99j{background:#efebe9;color:#6d4c41}.ActivePassesPanel_pass-details__56qNA{color:#666;margin-bottom:.5rem}.ActivePassesPanel_pass-details__56qNA .ActivePassesPanel_destination__WqZA-{color:#333;font-weight:500}.ActivePassesPanel_pass-details__56qNA .ActivePassesPanel_period__ch0qJ{color:#888;font-size:.9rem}.ActivePassesPanel_timestamp__FQJ0u{color:#999;font-size:.85rem}.ActivePassesPanel_no-passes__ZoBHM{color:#999;font-style:italic;padding:2rem;text-align:center}.AdminPanel_dashboard__m6LeC{background:#f5f5f5;min-height:100vh}.AdminPanel_dashboard__m6LeC header{align-items:center;background:#1976d2;color:#fff;display:flex;gap:2rem;justify-content:space-between;padding:1rem 2rem}.AdminPanel_dashboard__m6LeC header h1{margin:0}.AdminPanel_dashboard__m6LeC header button{background:hsla(0,0%,100%,.2);border:none;border-radius:4px;color:#fff;cursor:pointer;padding:8px 16px}.AdminPanel_dashboard__m6LeC header button:hover{background:hsla(0,0%,100%,.3)}.AdminPanel_dashboard__m6LeC main{margin:0 auto;max-width:1200px;padding:2rem}.AdminPanel_period-info__ypeJO{font-size:.9rem;margin-top:.5rem}.AdminPanel_period-info__ypeJO span{margin-right:.8rem}.AdminPanel_current-period__0RxFH{color:hsla(0,0%,100%,.95);font-weight:600}.AdminPanel_ab-day__jmHLC{color:hsla(0,0%,100%,.8);font-weight:500}.AdminPanel_schedule-type__cPifO{color:hsla(0,0%,100%,.7);text-transform:capitalize}.AdminPanel_time-remaining__1RQjU{color:hsla(0,0%,100%,.8);font-weight:500}.AdminPanel_no-period__AfBbO{color:hsla(0,0%,100%,.6);font-style:italic}.AdminPanel_header-actions__3cxD2{align-items:center;display:flex;gap:1rem}.AdminPanel_header-actions__3cxD2>:not(:last-child){margin-right:15px}.AdminPanel_bug-report-link__p8jdh{color:#fff!important;margin-right:15px;text-decoration:underline!important;-webkit-text-decoration-color:#fff!important;text-decoration-color:#fff!important;-webkit-text-decoration-line:underline!important;text-decoration-line:underline!important;-webkit-text-decoration-style:solid!important;text-decoration-style:solid!important}.AdminPanel_bug-report-link__p8jdh:hover{text-decoration:underline!important;-webkit-text-decoration-line:underline!important;text-decoration-line:underline!important}.AdminPanel_dev-mode-badge__WFIdA{align-items:center;animation:AdminPanel_pulse-dev__mU8v5 2s infinite;background:linear-gradient(135deg,#ff9800,#f57c00);border-radius:20px;box-shadow:0 2px 4px rgba(245,124,0,.3);color:#fff;display:inline-flex;font-size:.8rem;font-weight:600;gap:.3rem;letter-spacing:.5px;padding:.3rem .8rem;text-transform:uppercase}@keyframes AdminPanel_pulse-dev__mU8v5{0%,to{opacity:1}50%{opacity:.7}}.AdminPanel_loading-message__PsH2N{align-items:center;display:flex;height:50vh;justify-content:center;text-align:center}.AdminPanel_loading-message__PsH2N h2{color:#6b7280;font-weight:400}.AdminPanel_admin-sections__FsQy3{grid-gap:2rem;display:grid;gap:2rem}.AdminPanel_add-btn__2FOp1,.AdminPanel_remove-btn__93G50{border:none;border-radius:4px;cursor:pointer;font-weight:500;padding:8px 16px}.AdminPanel_add-btn__2FOp1{background:#4caf50;color:#fff}.AdminPanel_add-btn__2FOp1:hover{background:#45a049}.AdminPanel_remove-btn__93G50{background:#f44336;color:#fff;font-size:.9rem}.AdminPanel_remove-btn__93G50:hover{background:#d32f2f}.AdminPanel_file-input__2WF5R{border:1px solid #ddd;border-radius:4px;margin-right:1rem;min-width:200px;padding:.5rem}.AdminPanel_teacher-input__IiM8P{border:1px solid #ddd;border-radius:4px;flex:1 1;margin-right:1rem;min-width:300px;padding:8px 12px}.AdminPanel_teachers-grid__1WNwP{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.AdminPanel_teacher-card__mYpIJ{align-items:stretch;background:#f9f9f9;border:1px solid #ddd;border-radius:6px;display:flex;flex-direction:column;padding:1rem}.AdminPanel_teacher-info__HO29N strong{font-size:1rem}.AdminPanel_button-group__jgpNI{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.AdminPanel_csv-upload-section__CRJc6{border:1px solid #ddd;border-radius:6px;padding:1.5rem}.AdminPanel_csv-upload-paragraph__ZhOtz{line-height:1.5;margin:0 0 1rem}.AdminPanel_csv-format-example__KjkW-,.AdminPanel_form-group__UTiTD{margin-bottom:1rem}.AdminPanel_form-group__UTiTD label{display:block;font-weight:600;margin-bottom:.375rem}.AdminPanel_csv-textarea__aQbHj{border:1px solid #ddd;border-radius:4px;box-sizing:border-box;font-family:monospace;max-width:700px;padding:8px 12px;resize:vertical;width:100%}.AdminPanel_btn-edit__NzfiY{background:#f59e0b;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.875rem;padding:.5rem 1rem;transition:background-color .2s ease}.AdminPanel_btn-edit__NzfiY:hover{background:#d97706}.AdminPanel_btn-edit__NzfiY:disabled{background:#9ca3af;cursor:not-allowed}.UserManagementPanel_single-user-section__VQiCp{border:1px solid #ddd;border-radius:6px;margin-top:0;padding:1.5rem}.UserManagementPanel_btn-delete__G\+XG9{background:var(--btn-danger-bg);border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.875rem;font-weight:600;padding:.5rem 1.25rem;transition:background-color .2s ease}.UserManagementPanel_btn-delete__G\+XG9:hover{background:var(--btn-danger-bg-hover)}.UserManagementPanel_btn-delete__G\+XG9:disabled{background:#9ca3af;cursor:not-allowed}.UserManagementPanel_invite-button__6l19U{background:var(--btn-secondary-bg);border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.875rem;font-weight:600;padding:.5rem 1.25rem;transition:background-color .2s ease}.UserManagementPanel_invite-button__6l19U:hover{background:var(--btn-secondary-bg-hover)}.UserManagementPanel_invite-button__6l19U:disabled{background:#9ca3af;cursor:not-allowed}.UserManagementPanel_account-actions__Ql3rL{align-items:center;display:flex;gap:.5rem;padding-left:1.5rem}.UserManagementPanel_error-count__cfPvb strong{color:#dc2626}.UserManagementPanel_role-select__5OKhM{background:#fff;border:1px solid #ddd;border-radius:4px;padding:8px 12px}.UserManagementPanel_pagination-controls__ozVZH{align-items:center;background:#f8f9fa;border-radius:8px;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin:1rem 0;padding:1rem}.UserManagementPanel_pagination-info__y-8LS{color:#666;font-size:14px}.UserManagementPanel_pagination-buttons__JhBNZ{align-items:center;display:flex;gap:.5rem}.UserManagementPanel_pagination-btn__siUTH{background:#fff;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-size:14px;padding:8px 12px;transition:all .2s ease}.UserManagementPanel_pagination-btn__siUTH:hover:not(:disabled){background:#f0f0f0;border-color:#ccc}.UserManagementPanel_pagination-btn__siUTH:disabled{cursor:not-allowed;opacity:.5}.UserManagementPanel_page-info__AOVqW{color:#333;font-weight:500;padding:0 1rem}.UserManagementPanel_csv-upload-section__mOlic{margin-top:1.5rem}.UserManagementPanel_existing-accounts-section__F9nR-{margin-top:1.5rem}.UserManagementPanel_form-input__Omh3s{border:1px solid #ddd;border-radius:4px;box-sizing:border-box;max-width:400px;padding:8px 12px;width:100%}.ScheduleForm_schedule-form__xD9of{padding:1.5rem 0}.ScheduleForm_form-info__8v4u1{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;margin-bottom:2rem;padding:1rem}.ScheduleForm_form-info__8v4u1 p{color:#374151;font-weight:500;margin:0 0 .5rem}.ScheduleForm_form-info__8v4u1 small{color:#6b7280;font-size:.875rem;line-height:1.4}.ScheduleForm_block-schedule-layout__kPjuR{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:1fr 1fr 1fr;margin-bottom:2rem}.ScheduleForm_schedule-section__g-5Tg{border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.ScheduleForm_section-header__Z-fBY{align-items:center;background:#f9fafb;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:1rem 1.5rem}.ScheduleForm_section-header__Z-fBY h3{color:#374151;font-size:1.125rem;font-weight:600;margin:0}.ScheduleForm_header-buttons__Wmvhb{display:flex;gap:.5rem}.ScheduleForm_btn-add-period__M-9i2{background:#10b981;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.875rem;font-weight:500;padding:.5rem 1rem;transition:background-color .2s ease}.ScheduleForm_btn-add-period__M-9i2:hover{background:#059669}.ScheduleForm_btn-add-period__M-9i2:disabled{background:#9ca3af;cursor:not-allowed}.ScheduleForm_btn-autofill__yElNa{background:#3b82f6;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.875rem;font-weight:500;padding:.5rem 1rem;transition:background-color .2s ease}.ScheduleForm_btn-autofill__yElNa:hover{background:#2563eb}.ScheduleForm_btn-autofill__yElNa:disabled{background:#9ca3af;cursor:not-allowed}.ScheduleForm_periods-container__YOo7J{background:#fff;padding:1rem}.ScheduleForm_empty-state__-urpC{color:#6b7280;padding:2rem;text-align:center}.ScheduleForm_empty-state__-urpC p{font-style:italic;margin:0}.ScheduleForm_period-header__alX3Y{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:2fr 1fr 1fr 80px;margin-bottom:.5rem;padding:0 1rem}.ScheduleForm_period-header__alX3Y span{color:#374151;font-size:.75rem;font-weight:500;letter-spacing:.025em;text-align:center;text-transform:uppercase}.ScheduleForm_header-period-name__cZT49{text-align:left}.ScheduleForm_period-row__AWeTH{background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;margin-bottom:1rem;padding:1rem}.ScheduleForm_period-form-grid__kL007{grid-gap:1rem;align-items:end;display:grid;gap:1rem;grid-template-columns:2fr 1fr 1fr 80px}.ScheduleForm_form-field__-vzgA{display:flex;flex-direction:column;gap:.25rem}.ScheduleForm_form-field__-vzgA label{color:#374151;font-size:.75rem;font-weight:500;letter-spacing:.025em;text-transform:uppercase}.ScheduleForm_period-name-input__21Es6,.ScheduleForm_time-input__vBxDr{border:1px solid #d1d5db;border-radius:4px;font-size:.875rem;padding:.5rem;transition:border-color .2s ease}.ScheduleForm_period-name-input__21Es6:focus,.ScheduleForm_time-input__vBxDr:focus{border-color:#3b82f6;box-shadow:0 0 0 2px rgba(59,130,246,.1);outline:none}.ScheduleForm_period-name-input__21Es6:disabled,.ScheduleForm_time-input__vBxDr:disabled{background:#f3f4f6;color:#6b7280}.ScheduleForm_actions-field__UJvf4{display:flex;gap:.5rem;justify-content:center}.ScheduleForm_btn-copy__DAvGg{background:#f59e0b;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.75rem;font-weight:500;padding:.375rem .5rem;transition:background-color .2s ease}.ScheduleForm_btn-copy__DAvGg:hover{background:#d97706}.ScheduleForm_btn-copy__DAvGg:disabled{background:#9ca3af;cursor:not-allowed}.ScheduleForm_btn-remove__FvjqK{align-items:center;background:#ef4444;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:700;height:28px;justify-content:center;transition:background-color .2s ease;width:28px}.ScheduleForm_btn-remove__FvjqK:hover{background:#dc2626}.ScheduleForm_btn-remove__FvjqK:disabled{background:#9ca3af;cursor:not-allowed}.ScheduleForm_period-summary__IJEH\+{background:#f0f9ff;border:1px solid #bae6fd;border-radius:8px;margin-top:2rem;padding:1.5rem}.ScheduleForm_period-summary__IJEH\+ h4{color:#0c4a6e;font-size:1.125rem;margin:0 0 1rem}.ScheduleForm_summary-stats__w-AiI{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.ScheduleForm_stat__phu7g{display:flex;flex-direction:column;gap:.25rem}.ScheduleForm_stat-label__wEstr{color:#0c4a6e;font-size:.75rem;font-weight:500;letter-spacing:.025em;text-transform:uppercase}.ScheduleForm_stat-value__kCeA\+{color:#0369a1;font-size:1.5rem;font-weight:700}.ScheduleForm_loading-state__M\+ia7{align-items:center;color:#6b7280;display:flex;justify-content:center;padding:3rem}@media (max-width:1024px){.ScheduleForm_block-schedule-layout__kPjuR{grid-template-columns:1fr 1fr}}@media (max-width:768px){.ScheduleForm_block-schedule-layout__kPjuR{grid-template-columns:1fr}.ScheduleForm_period-header__alX3Y{display:none}.ScheduleForm_period-form-grid__kL007{gap:.75rem;grid-template-columns:1fr}.ScheduleForm_form-field__-vzgA{gap:.5rem}.ScheduleForm_actions-field__UJvf4{justify-content:start}.ScheduleForm_summary-stats__w-AiI{grid-template-columns:repeat(2,1fr)}.ScheduleForm_section-header__Z-fBY{align-items:stretch;flex-direction:column;gap:1rem}.ScheduleForm_header-buttons__Wmvhb{justify-content:center}}.Modal_modal-overlay__B4okk{align-items:center;background:rgba(0,0,0,.6);bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:1000}.Modal_modal-header__tiZE1{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;flex-shrink:0;justify-content:space-between;padding:1.5rem 2rem}.Modal_modal-header__tiZE1 h2{color:#1f2937;font-size:1.5rem;font-weight:600;margin:0}.Modal_close-btn__99oR0{align-items:center;background:none;border:none;border-radius:50%;color:#6b7280;cursor:pointer;display:flex;font-size:2rem;height:40px;justify-content:center;padding:0;transition:all .2s ease;width:40px}.Modal_close-btn__99oR0:hover{background:#f3f4f6;color:#374151}.Modal_close-btn__99oR0:disabled{cursor:not-allowed;opacity:.5}.Modal_modal-body__VMpB8{flex:1 1;overflow-y:auto;padding:0 2rem}.Modal_modal-footer__H7RPk{align-items:center;border-top:1px solid #e5e7eb;display:flex;flex-shrink:0;justify-content:space-between;padding:1.5rem 2rem}.Modal_footer-left__ad\+yO{flex:1 1}.Modal_footer-right__ZQxrJ{display:flex;gap:1rem}@media (max-width:768px){.Modal_modal-overlay__B4okk{padding:.5rem}.Modal_modal-header__tiZE1{padding:1rem 1.5rem}.Modal_modal-body__VMpB8{padding:0 1.5rem}.Modal_modal-footer__H7RPk{flex-direction:column;gap:1rem;padding:1rem 1.5rem}.Modal_footer-right__ZQxrJ{justify-content:stretch;width:100%}.Modal_footer-right__ZQxrJ button{flex:1 1}}.ScheduleVariantModal_schedule-variant-modal__LJD-T{background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04);display:flex;flex-direction:column;max-height:90vh;max-width:1200px;width:100%}.ScheduleVariantModal_variant-name-section__mP9UK{border-bottom:1px solid #e5e7eb;padding:1.5rem 0}.ScheduleVariantModal_variant-name-section__mP9UK label{color:#374151;display:block;font-weight:600;margin-bottom:.5rem}.ScheduleVariantModal_variant-name-input__aCFAi{border:1px solid #d1d5db;border-radius:6px;font-size:1rem;max-width:400px;padding:.75rem;transition:border-color .2s ease;width:100%}.ScheduleVariantModal_variant-name-input__aCFAi:focus{border-color:#3b82f6;box-shadow:0 0 0 3px rgba(59,130,246,.1);outline:none}.ScheduleVariantModal_variant-name-input__aCFAi:disabled{background:#f9fafb;color:#6b7280}@media (max-width:768px){.ScheduleVariantModal_schedule-variant-modal__LJD-T{max-height:95vh;max-width:100%}}.CalendarEntryEditModal_calendar-entry-edit-modal__fzmgM{background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04);display:flex;flex-direction:column;max-width:420px;width:100%}.CalendarEntryEditModal_modal-body-content__bBqVF{display:flex;flex-direction:column;gap:1.25rem;padding:1.5rem 2rem}.CalendarEntryEditModal_modal-body-content__bBqVF label{color:#374151;display:block;font-weight:600}.CalendarEntryEditModal_calendar-entry-edit-modal__fzmgM select{display:block;margin-top:.5rem;width:100%}.CalendarEntryEditModal_role-select__4qzmy{background:#fff;border:1px solid #ddd;border-radius:4px;padding:8px 12px}.ScheduleConfigPanel_calendar-form__5fJab{margin-bottom:2rem}.ScheduleConfigPanel_date-input__tC7sd{border:1px solid #ddd;border-radius:4px;margin-right:1rem;padding:8px 12px}.ScheduleConfigPanel_calendar-lists__ToXFP{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:1fr 1fr}.ScheduleConfigPanel_entries-list__JXT7g{max-height:300px;overflow-y:auto}.ScheduleConfigPanel_calendar-entry__mFeA4{align-items:center;background:#f9f9f9;border:1px solid #eee;border-radius:4px;display:flex;justify-content:space-between;margin-bottom:.5rem;padding:.75rem}.ScheduleConfigPanel_entry-info__DSfih{align-items:center;display:flex;gap:1rem}.ScheduleConfigPanel_entry-actions__RWF2U{display:flex;flex-shrink:0;gap:.5rem}.ScheduleConfigPanel_ab-badge__6LT0r{border-radius:4px;color:#fff;font-size:.8rem;font-weight:500;padding:2px 8px}.ScheduleConfigPanel_ab-badge__6LT0r.ScheduleConfigPanel_ab-a__luuuX{background:#2196f3}.ScheduleConfigPanel_ab-badge__6LT0r.ScheduleConfigPanel_ab-b__PHGxd{background:#4caf50}.ScheduleConfigPanel_schedule-badge__iN8f2{background:#ff9800;border-radius:4px;color:#fff;font-size:.8rem;font-weight:500;padding:2px 8px;text-transform:capitalize}.ScheduleConfigPanel_schedule-variants-management__1x49y{padding:1rem 0}.ScheduleConfigPanel_section-info__AQWUY{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;margin-bottom:1.5rem;padding:1rem}.ScheduleConfigPanel_section-info__AQWUY p{color:#374151;margin:.5rem 0}.ScheduleConfigPanel_section-info__AQWUY p:first-child{margin-top:0}.ScheduleConfigPanel_section-info__AQWUY p:last-child{margin-bottom:0}.ScheduleConfigPanel_variants-header__s7Z3o{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.ScheduleConfigPanel_variants-header__s7Z3o h3{color:#374151;font-size:1.25rem;margin:0}.ScheduleConfigPanel_create-variant-btn__05ZWs{background:#3b82f6;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:600;padding:.75rem 1.5rem;transition:background-color .2s ease}.ScheduleConfigPanel_create-variant-btn__05ZWs:hover{background:#2563eb}.ScheduleConfigPanel_create-variant-btn__05ZWs:disabled{background:#9ca3af;cursor:not-allowed}.ScheduleConfigPanel_empty-variants__8HvK6{background:#f9fafb;border:2px dashed #d1d5db;border-radius:8px;color:#6b7280;padding:3rem 1rem;text-align:center}.ScheduleConfigPanel_empty-variants__8HvK6 p{margin:.5rem 0}.ScheduleConfigPanel_variants-list__-igej{display:flex;flex-direction:column;gap:1rem}.ScheduleConfigPanel_variant-card__c6hkD{align-items:flex-start;background:#fff;border:1px solid #e5e7eb;border-radius:8px;display:flex;justify-content:space-between;padding:1.5rem;transition:box-shadow .2s ease}.ScheduleConfigPanel_variant-card__c6hkD:hover{box-shadow:0 4px 6px -1px rgba(0,0,0,.1)}.ScheduleConfigPanel_variant-info__xnhTD{flex:1 1}.ScheduleConfigPanel_variant-info__xnhTD h4{align-items:center;color:#1f2937;display:flex;font-size:1.125rem;gap:.5rem;margin:0 0 .5rem}.ScheduleConfigPanel_variant-stats__n5kV5{color:#6b7280;display:flex;font-size:.875rem;gap:1rem;margin:.5rem 0}.ScheduleConfigPanel_variant-stats__n5kV5 span{background:#f3f4f6;border-radius:4px;padding:.25rem .5rem}.ScheduleConfigPanel_variant-actions__Fn9rv{display:flex;flex-shrink:0;gap:.5rem}.ScheduleConfigPanel_btn-duplicate__C-p23{background:#6b7280;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.875rem;padding:.5rem 1rem;transition:background-color .2s ease}.ScheduleConfigPanel_btn-duplicate__C-p23:hover{background:#4b5563}.ScheduleConfigPanel_btn-duplicate__C-p23:disabled{background:#9ca3af;cursor:not-allowed}@media (max-width:768px){.ScheduleConfigPanel_variants-header__s7Z3o{align-items:stretch;flex-direction:column;gap:1rem}.ScheduleConfigPanel_variant-card__c6hkD{flex-direction:column;gap:1rem}.ScheduleConfigPanel_variant-actions__Fn9rv{justify-content:stretch}.ScheduleConfigPanel_variant-actions__Fn9rv button{flex:1 1}}.ScheduleConfigPanel_role-select__ohHpI{background:#fff;border:1px solid #ddd;border-radius:4px;padding:8px 12px}.ClassSectionsPanel_csv-upload-section__0B8ky{margin-bottom:1.5rem}.ClassSectionsPanel_roster-table-container__zltAq{margin-top:1rem;overflow-x:auto}.ClassSectionsPanel_roster-table__EDWAl{border-collapse:collapse;width:100%}.ClassSectionsPanel_roster-table__EDWAl td,.ClassSectionsPanel_roster-table__EDWAl th{border-bottom:1px solid #eee;padding:.5rem .75rem;text-align:left;white-space:nowrap}.ClassSectionsPanel_roster-table__EDWAl th{color:#666;font-size:.85rem;text-transform:uppercase}.ClassSectionsPanel_roster-cell-input__iBU8n{border:1px solid #ddd;border-radius:4px;box-sizing:border-box;min-width:140px;padding:6px 8px;width:100%}.ClassSectionsPanel_roster-empty-cell__OL153{color:#999}.AdminPortalWrapper_loading-container__JeMKg{align-items:center;color:#718096;display:flex;flex-direction:column;justify-content:center;min-height:400px}.DeveloperDashboard_developer-dashboard__085R5{background:#f7fafc;min-height:100vh}.DeveloperDashboard_dashboard-header__LQ6Rn{align-items:center;background:#fff;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:20px 40px}.DeveloperDashboard_dashboard-header__LQ6Rn h1{color:#1a202c;font-size:24px;margin:0}.DeveloperDashboard_logout-btn__cU1k2{background:#e53e3e;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:8px 20px}.DeveloperDashboard_logout-btn__cU1k2:hover{background:#c53030}.DeveloperDashboard_stats-overview__tQnsi{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));padding:40px}.DeveloperDashboard_stat-card__RlKjE{background:#fff;border-radius:8px;box-shadow:0 1px 3px rgba(0,0,0,.1);padding:24px}.DeveloperDashboard_stat-card__RlKjE h3{color:#718096;font-size:14px;letter-spacing:.5px;margin:0 0 12px;text-transform:uppercase}.DeveloperDashboard_stat-number__ff8lg{color:#2d3748;font-size:32px;font-weight:700;margin:0}.DeveloperDashboard_dashboard-tabs__2Z8WM{background:#fff;border-bottom:2px solid #e2e8f0;display:flex;gap:20px;padding:0 40px}.DeveloperDashboard_tab__kgYX3{background:none;border:none;color:#718096;cursor:pointer;font-size:15px;font-weight:500;padding:16px 24px;position:relative}.DeveloperDashboard_tab__kgYX3:hover{color:#4a5568}.DeveloperDashboard_tab__kgYX3.DeveloperDashboard_active__kjogQ{color:#667eea}.DeveloperDashboard_tab__kgYX3.DeveloperDashboard_active__kjogQ:after{background:#667eea;bottom:-2px;content:"";height:2px;left:0;position:absolute;right:0}.DeveloperDashboard_tab-content__LHokG{padding:40px}.DeveloperDashboard_content-header__BIMhA{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.DeveloperDashboard_content-header__BIMhA h2{color:#2d3748;font-size:20px;margin:0}.DeveloperDashboard_create-btn__59qy3{background:#48bb78;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px}.DeveloperDashboard_create-btn__59qy3:hover{background:#38a169}.DeveloperDashboard_data-table__n0Qw8{background:#fff;border-radius:8px;box-shadow:0 1px 3px rgba(0,0,0,.1);overflow:hidden}.DeveloperDashboard_data-table__n0Qw8 table{border-collapse:collapse;width:100%}.DeveloperDashboard_data-table__n0Qw8 th{background:#f7fafc;border-bottom:1px solid #e2e8f0;color:#718096;font-size:12px;font-weight:600;letter-spacing:.5px;padding:12px 16px;text-align:left;text-transform:uppercase}.DeveloperDashboard_data-table__n0Qw8 td{border-bottom:1px solid #e2e8f0;color:#4a5568;font-size:14px;padding:16px}.DeveloperDashboard_data-table__n0Qw8 tr:last-child td{border-bottom:none}.DeveloperDashboard_data-table__n0Qw8 tr:hover{background:#f7fafc}.DeveloperDashboard_action-btn__Ff\+oO{background:#4299e1;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:13px;font-weight:500;padding:6px 16px}.DeveloperDashboard_action-btn__Ff\+oO:hover{background:#3182ce}.DeveloperDashboard_loading-container__4rq\+\+{align-items:center;color:#718096;display:flex;flex-direction:column;justify-content:center;min-height:400px}.DeveloperDashboard_spinner__IgHCi{animation:DeveloperDashboard_spin__UgBUY 1s linear infinite;border:4px solid #e2e8f0;border-radius:50%;border-top-color:#667eea;height:40px;margin-bottom:16px;width:40px}@keyframes DeveloperDashboard_spin__UgBUY{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.DeveloperDashboard_modal-overlay__7g7WW{align-items:center;background:rgba(0,0,0,.5);bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.DeveloperDashboard_modal__IMOCU{background:#fff;border-radius:8px;max-height:80vh;max-width:500px;overflow-y:auto;padding:32px;width:100%}.DeveloperDashboard_modal__IMOCU h2{color:#2d3748;font-size:20px;margin:0 0 24px}.DeveloperDashboard_modal__IMOCU form{display:flex;flex-direction:column;gap:16px}.DeveloperDashboard_modal__IMOCU input,.DeveloperDashboard_modal__IMOCU select,.DeveloperDashboard_modal__IMOCU textarea{border:1px solid #e2e8f0;border-radius:6px;font-size:14px;padding:10px 12px}.DeveloperDashboard_modal__IMOCU input:focus,.DeveloperDashboard_modal__IMOCU select:focus,.DeveloperDashboard_modal__IMOCU textarea:focus{border-color:#667eea;outline:none}.DeveloperDashboard_modal__IMOCU label{align-items:center;color:#4a5568;display:flex;font-size:14px;gap:8px}.DeveloperDashboard_modal-actions__c135m{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}.DeveloperDashboard_save-btn__ZxxrU{background:#48bb78;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 24px}.DeveloperDashboard_save-btn__ZxxrU:hover{background:#38a169}.DeveloperDashboard_modal-actions__c135m button[type=button]{background:transparent;border:1px solid #e2e8f0;border-radius:6px;color:#718096;cursor:pointer;font-size:14px;font-weight:600;padding:10px 24px}.DeveloperDashboard_modal-actions__c135m button[type=button]:hover{background:#f7fafc}@media (max-width:768px){.DeveloperDashboard_dashboard-header__LQ6Rn{padding:20px}.DeveloperDashboard_stats-overview__tQnsi{grid-template-columns:1fr 1fr;padding:20px}.DeveloperDashboard_tab-content__LHokG{padding:20px}.DeveloperDashboard_data-table__n0Qw8{overflow-x:auto}.DeveloperDashboard_data-table__n0Qw8 table{min-width:600px}}.DeveloperDashboard_header-actions__bmBgP{align-items:center;display:flex;gap:1rem}.DeveloperDashboard_header-actions__bmBgP>:not(:last-child){margin-right:15px}.DeveloperDashboard_bug-report-link__o6Lbt{color:#fff!important;margin-right:15px;text-decoration:underline!important;-webkit-text-decoration-color:#fff!important;text-decoration-color:#fff!important;-webkit-text-decoration-line:underline!important;text-decoration-line:underline!important;-webkit-text-decoration-style:solid!important;text-decoration-style:solid!important}.DeveloperDashboard_bug-report-link__o6Lbt:hover{text-decoration:underline!important;-webkit-text-decoration-line:underline!important;text-decoration-line:underline!important}.BillingRequired_billing-required-container__U1cV2{align-items:center;background:linear-gradient(135deg,#e53e3e,#c53030);display:flex;justify-content:center;min-height:100vh;padding:20px}.BillingRequired_billing-required-card__g76Lm{background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px rgba(0,0,0,.1);max-width:500px;padding:48px;text-align:center;width:100%}.BillingRequired_billing-icon__9Tv8O{font-size:64px;margin-bottom:24px}.BillingRequired_billing-required-card__g76Lm h1{color:#c53030;font-size:28px;margin-bottom:16px}.BillingRequired_org-info__g8e8K{margin-bottom:24px}.BillingRequired_org-name__dY-vO{background:#fed7d7;border-radius:20px;color:#742a2a;display:inline-block;font-size:14px;font-weight:600;padding:6px 16px}.BillingRequired_billing-message__YWre0{color:#4a5568;font-size:16px;line-height:1.6;margin-bottom:32px}.BillingRequired_billing-details__iz-Dd{background:#f7fafc;border-radius:8px;margin-bottom:32px;padding:24px;text-align:left}.BillingRequired_billing-details__iz-Dd h3{color:#2d3748;font-size:16px;margin-bottom:12px}.BillingRequired_billing-details__iz-Dd ul{list-style:none;margin:0;padding:0}.BillingRequired_billing-details__iz-Dd li{color:#4a5568;font-size:14px;padding:8px 0 8px 24px;position:relative}.BillingRequired_billing-details__iz-Dd li:before{color:#cbd5e0;content:"•";left:8px;position:absolute}.BillingRequired_billing-actions__e-NAu{display:flex;gap:12px;justify-content:center;margin-bottom:24px}.BillingRequired_logout-button__Gf0Co{background:transparent;border:1px solid #e2e8f0;border-radius:6px;color:#718096;cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;transition:all .2s ease}.BillingRequired_logout-button__Gf0Co:hover{background:#f7fafc;border-color:#cbd5e0}.BillingRequired_billing-footer__f8VOT{border-top:1px solid #e2e8f0;padding-top:24px}.BillingRequired_billing-footer__f8VOT p{color:#718096;font-size:13px;line-height:1.5}@media (max-width:640px){.BillingRequired_billing-required-card__g76Lm{padding:32px 24px}.BillingRequired_billing-actions__e-NAu{flex-direction:column}.BillingRequired_billing-actions__e-NAu button{width:100%}}.BillingWarningBanner_billing-warning-banner__Hp4AJ{animation:BillingWarningBanner_slideDown__SVDPP .3s ease;background:#fef5e7;border-bottom:2px solid #f4d03f;position:-webkit-sticky;position:sticky;top:0;z-index:100}.BillingWarningBanner_billing-warning-banner__Hp4AJ.BillingWarningBanner_urgent__6oSgt{background:#ffeaa7;border-bottom-color:#fdcb6e}.BillingWarningBanner_banner-content__ubPWg{align-items:center;display:flex;gap:12px;margin:0 auto;max-width:1200px;padding:12px 20px}.BillingWarningBanner_warning-icon__0L-ST{flex-shrink:0;font-size:20px}.BillingWarningBanner_warning-text__ASbXe{color:#7d5a00;flex:1 1;font-size:14px;line-height:1.4}.BillingWarningBanner_warning-text__ASbXe strong{color:#5a4000}.BillingWarningBanner_banner-actions__4lq0C{display:flex;gap:8px}.BillingWarningBanner_dismiss-button__GQFTH{background:transparent;border:none;border-radius:4px;color:#9d7a00;cursor:pointer;font-size:18px;line-height:1;padding:4px 8px;transition:all .2s ease}.BillingWarningBanner_dismiss-button__GQFTH:hover{background:rgba(0,0,0,.05);color:#5a4000}.BillingWarningBanner_urgency-bar__-4zph{background:linear-gradient(90deg,#f39c12,#e67e22);height:3px;transition:width .3s ease}@keyframes BillingWarningBanner_slideDown__SVDPP{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}@media (max-width:640px){.BillingWarningBanner_banner-content__ubPWg{padding:10px 16px}.BillingWarningBanner_warning-text__ASbXe{font-size:13px}.BillingWarningBanner_warning-icon__0L-ST{font-size:18px}}.UpdateAvailableBanner_update-available-banner__HHzZh{animation:UpdateAvailableBanner_updateBannerSlideDown__OJP6J .3s ease;background:#eaf2fe;border-bottom:2px solid #74a3f5;position:-webkit-sticky;position:sticky;top:0;z-index:100}.UpdateAvailableBanner_update-banner-content__kZGgG{align-items:center;display:flex;gap:12px;margin:0 auto;max-width:1200px;padding:12px 20px}.UpdateAvailableBanner_update-icon__mJfTQ{flex-shrink:0;font-size:20px}.UpdateAvailableBanner_update-text__\+kMbD{color:#1c3d78;flex:1 1;font-size:14px;line-height:1.4}.UpdateAvailableBanner_update-banner-actions__L2qD6{display:flex;gap:8px}.UpdateAvailableBanner_refresh-button__YL9Hq{background:#2f6fed;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;line-height:1.2;padding:6px 14px;transition:background .2s ease}.UpdateAvailableBanner_refresh-button__YL9Hq:hover{background:#1c56d1}@keyframes UpdateAvailableBanner_updateBannerSlideDown__OJP6J{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}@media (max-width:640px){.UpdateAvailableBanner_update-banner-content__kZGgG{padding:10px 16px}.UpdateAvailableBanner_update-text__\+kMbD{font-size:13px}.UpdateAvailableBanner_update-icon__mJfTQ{font-size:18px}}
/*# sourceMappingURL=main.4447dab9.css.map*/