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}.App{text-align:center}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin 20s linear infinite}}.App-header{align-items:center;background-color:#282c34;color:#fff;display:flex;flex-direction:column;font-size:calc(10px + 2vmin);justify-content:center;min-height:100vh}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.splash-screen{animation:fadeOut .5s ease-out 3.5s forwards;background:#fff;bottom:0;left:0;position:fixed;right:0;top:0;z-index:9999}.splash-container,.splash-screen{align-items:center;display:flex;justify-content:center}.splash-container{flex-direction:column}.splash-logo{animation:slideUp .8s ease-out;height:350px;object-fit:contain;width:350px}@keyframes slideUp{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeOut{0%{opacity:1;visibility:visible}to{opacity:0;visibility:hidden}}.login-form{background-color:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;margin:2rem auto;max-width:600px;padding:2rem}.login-form .form-header{border-bottom:3px solid #06c;margin-bottom:2rem;padding-bottom:1.5rem;text-align:center}.login-form .header-content{align-items:center;display:flex;gap:2rem;justify-content:flex-start}.login-form .header-logo{flex-shrink:0}.login-form .header-logo img{display:block;height:150px;object-fit:contain;width:150px}.login-form .header-text{flex:1 1;text-align:left}.login-form .header-text h1{color:#003d99;font-size:1.6rem;font-weight:700;margin:0 0 .5rem}.login-form .header-text h2{color:#666;font-size:.9rem;font-weight:600;letter-spacing:.5px;margin:0}.login-form .message{border-radius:4px;font-weight:500;margin-bottom:1.5rem;padding:1rem;text-align:center}.login-form .message-success{background-color:#d4edda;border:1px solid #c3e6cb;color:#155724}.login-form .message-error{background-color:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.login-form .form-container{display:flex;flex-direction:column}.login-form .form-section{margin-bottom:2rem}.login-form .form-section h3{color:#06c;font-size:1.1rem;font-weight:600;margin-bottom:1.5rem;text-align:left}.login-form .form-group{display:flex;flex-direction:column;margin-bottom:1.5rem}.login-form .form-group label{align-items:center;color:#333;display:flex;font-size:.95rem;font-weight:500;gap:.5rem;margin-bottom:.5rem;text-align:left}.login-form .field-icon{color:#06c;font-size:1.1rem}.login-form .form-group input[type=email],.login-form .form-group input[type=password],.login-form .form-group input[type=text]{border:1px solid #ddd;border-radius:4px;font-family:inherit;font-size:.95rem;padding:.75rem;transition:border-color .3s ease,box-shadow .3s ease}.login-form .form-group input[type=email]:focus,.login-form .form-group input[type=password]:focus,.login-form .form-group input[type=text]:focus{border-color:#06c;box-shadow:0 0 0 3px #0066cc1a;outline:none}.login-form .form-group input:disabled{background-color:#f5f5f5;color:#999;cursor:not-allowed}.login-form .submit-btn{background-color:#06c;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;margin-top:1rem;padding:.85rem 2rem;transition:background-color .3s ease,box-shadow .3s ease}.login-form .submit-btn:hover:not(:disabled){background-color:#003d99;box-shadow:0 4px 8px #06c3}.login-form .submit-btn:disabled{background-color:#ccc;cursor:not-allowed}.login-form .submit-btn:active:not(:disabled){transform:scale(.98)}.login-footer{border-top:1px solid #eee;color:#666;font-size:.9rem;margin-top:2rem;padding-top:1.5rem;text-align:center}.login-footer p{line-height:1.5;margin:.5rem 0}.login-footer .signup-link{margin-top:1rem}.login-footer .link-btn{background:none;border:none;color:#06c;cursor:pointer;font-weight:600;padding:0;text-decoration:underline;transition:color .3s ease}.login-footer .link-btn:hover:not(:disabled){color:#003d99}.login-footer .link-btn:disabled{cursor:not-allowed;opacity:.5}@media (max-width:768px){.login-form{margin:1rem auto;padding:1.5rem}.login-form .header-content{flex-direction:column;gap:1rem;text-align:center}.login-form .header-logo img{height:120px;width:120px}.login-form .header-text{text-align:center}.login-form .header-text h1{font-size:1.4rem}.popup-message{left:20px;max-width:calc(100vw - 40px);right:20px}}.loading-modal-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background-color:#00000080;bottom:0;left:0;position:fixed;right:0;top:0;z-index:1500}.loading-modal,.loading-modal-overlay{align-items:center;display:flex;justify-content:center}.loading-modal{background-color:#fff;border-radius:12px;box-shadow:0 8px 32px #0003;flex-direction:column;gap:1.5rem;min-width:280px;padding:2rem}.loading-spinner{animation:spin 1s linear infinite;border:5px solid #f3f3f3;border-radius:50%;border-top-color:#06c;height:60px;width:60px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.loading-text{color:#333;font-size:1rem;font-weight:600;letter-spacing:.5px;margin:0;text-align:center}.loading-time{color:#666;font-size:.85rem;font-weight:500;margin:0}@media (max-width:768px){.loading-modal{gap:1rem;min-width:250px;padding:1.5rem}.loading-spinner{border-width:4px;height:50px;width:50px}.loading-text{font-size:.9rem}.loading-time{font-size:.75rem}}.signup-form{background-color:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;margin:2rem auto;max-width:700px;padding:2rem}.signup-form .form-header{border-bottom:3px solid #06c;margin-bottom:2rem;padding-bottom:1.5rem;text-align:center}.signup-form .header-content{align-items:center;display:flex;gap:2rem;justify-content:flex-start}.signup-form .header-logo{flex-shrink:0}.signup-form .header-logo img{display:block;height:150px;object-fit:contain;width:150px}.signup-form .header-text{flex:1 1;text-align:left}.signup-form .header-text h1{color:#003d99;font-size:1.6rem;font-weight:700;margin:0 0 .5rem}.signup-form .header-text h2{color:#666;font-size:.9rem;font-weight:600;letter-spacing:.5px;margin:0}.signup-form .message{border-radius:4px;font-weight:500;margin-bottom:1.5rem;padding:1rem;text-align:center}.signup-form .message-success{background-color:#d4edda;border:1px solid #c3e6cb;color:#155724}.signup-form .message-error{background-color:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.signup-form .form-container{display:flex;flex-direction:column}.signup-form .form-section{margin-bottom:2rem}.signup-form .form-section h3{color:#06c;font-size:1.1rem;font-weight:600;margin-bottom:1.5rem;text-align:left}.signup-form .form-group{display:flex;flex-direction:column;margin-bottom:1.5rem}.signup-form .form-row{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:1fr 1fr}.signup-form .form-row .form-group{margin-bottom:0}.signup-form .form-group label{align-items:center;color:#333;display:flex;font-size:.95rem;font-weight:500;gap:.5rem;margin-bottom:.5rem;text-align:left}.signup-form .field-icon{color:#06c;font-size:1.1rem}.signup-form .form-group input[type=email],.signup-form .form-group input[type=password],.signup-form .form-group input[type=tel],.signup-form .form-group input[type=text]{border:1px solid #ddd;border-radius:4px;font-family:inherit;font-size:.95rem;padding:.75rem;transition:border-color .3s ease,box-shadow .3s ease}.signup-form .form-group input[type=email]:focus,.signup-form .form-group input[type=password]:focus,.signup-form .form-group input[type=tel]:focus,.signup-form .form-group input[type=text]:focus{border-color:#06c;box-shadow:0 0 0 3px #0066cc1a;outline:none}.signup-form .form-group input:disabled{background-color:#f5f5f5;color:#999;cursor:not-allowed}.password-input-wrapper{align-items:center;display:flex;position:relative}.password-input-wrapper input[type=password],.password-input-wrapper input[type=text]{padding-right:2.5rem;width:100%}.toggle-password-btn{align-items:center;background:none;border:none;color:#06c;cursor:pointer;display:flex;font-size:1.1rem;justify-content:center;padding:.5rem;position:absolute;right:.75rem;transition:color .3s ease}.toggle-password-btn:hover:not(:disabled){color:#003d99}.toggle-password-btn:disabled{cursor:not-allowed;opacity:.5}.signup-form .submit-btn{background-color:#06c;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;margin-bottom:1.5rem;margin-top:1rem;padding:.85rem 2rem;transition:background-color .3s ease,box-shadow .3s ease}.signup-form .submit-btn:hover:not(:disabled){background-color:#003d99;box-shadow:0 4px 8px #06c3}.signup-form .submit-btn:disabled{background-color:#ccc;cursor:not-allowed}.signup-form .submit-btn:active:not(:disabled){transform:scale(.98)}.signup-footer{border-top:1px solid #eee;padding-top:1.5rem;text-align:center}.signup-footer .back-to-login-btn{align-items:center;background:none;border:none;color:#06c;cursor:pointer;display:inline-flex;font-size:.9rem;font-weight:600;gap:.5rem;margin-bottom:1rem;padding:.5rem 1rem;transition:color .3s ease}.signup-footer .back-to-login-btn:hover:not(:disabled){color:#003d99}.signup-footer .back-to-login-btn:disabled{cursor:not-allowed;opacity:.5}.signup-footer p{color:#666;font-size:.9rem;line-height:1.5;margin:.5rem 0 0}.signup-footer .link-btn{background:none;border:none;color:#06c;cursor:pointer;font-weight:600;padding:0;text-decoration:underline;transition:color .3s ease}.signup-footer .link-btn:hover:not(:disabled){color:#003d99}.signup-footer .link-btn:disabled{cursor:not-allowed;opacity:.5}@media (max-width:768px){.signup-form{margin:1rem auto;padding:1.5rem}.signup-form .header-content{flex-direction:column;gap:1rem;text-align:center}.signup-form .header-logo img{height:120px;width:120px}.signup-form .header-text{text-align:center}.signup-form .header-text h1{font-size:1.4rem}.signup-form .form-row{grid-template-columns:1fr}.popup-message{left:20px;max-width:calc(100vw - 40px);right:20px}}.professor-registration-form{background-color:#fff;border-radius:8px;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;margin:.4rem auto;max-width:900px;padding:2rem}.form-header{align-items:flex-start;border-bottom:3px solid #06c;display:flex;gap:2rem;justify-content:space-between;margin-bottom:2rem;padding-bottom:1.5rem;text-align:center}.header-actions{align-items:flex-end;display:flex;flex-direction:column;flex-shrink:0;gap:1rem}.header-text h1{color:#003d99;font-size:1.8rem;font-weight:700;margin:0 0 .5rem}.header-text h2{color:#666;font-size:1rem;font-weight:600;letter-spacing:.5px;margin:0}.header-content{align-items:center;display:flex;gap:2rem;justify-content:flex-start}.header-logo{flex-shrink:0}.header-logo img{display:block;height:200px;object-fit:contain;width:200px}.header-text{flex:1 1;text-align:left}.message{border-radius:4px;font-weight:500;margin-bottom:2rem;padding:1rem}.message-success{background-color:#d4edda;border:1px solid #c3e6cb;color:#155724}.message-error{background-color:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.popup-message{animation:slideIn .3s ease-out,slideOut .3s ease-out 3.7s forwards;border-radius:6px;box-shadow:0 4px 12px #00000026;font-weight:600;max-width:400px;padding:1rem 1.5rem;position:fixed;right:20px;top:20px;z-index:2000}.popup-error{background-color:#dc3545;border-left:4px solid #c82333;color:#fff}.popup-info{background-color:#17a2b8;border-left:4px solid #138496;color:#fff}.popup-success{background-color:#28a745;border-left:4px solid #1e7e34;color:#fff}@keyframes slideIn{0%{opacity:0;transform:translateX(400px)}to{opacity:1;transform:translateX(0)}}@keyframes slideOut{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(400px)}}fieldset{background-color:#fff;border:1px solid #ddd;border-radius:4px;margin-bottom:2rem;padding:1.5rem}legend{align-items:center;color:#06c;display:flex;font-size:1.1rem;font-weight:600;gap:.5rem;margin-left:-.5rem;padding:0 .5rem}.form-group{display:flex;flex-direction:column;margin-bottom:1.5rem}.form-row{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:1fr 1fr}.form-row .form-group{margin-bottom:0}.form-group label{color:#333;display:block;font-size:.95rem;font-weight:500;margin-bottom:.5rem;text-align:left}.form-group label .required{color:#dc3545;font-weight:600;margin-left:.25rem}.form-group label .optional{color:#999;font-weight:400;margin-left:.25rem}.form-group input[type=date],.form-group input[type=email],.form-group input[type=file],.form-group input[type=tel],.form-group input[type=text],.form-group select,.form-group textarea{border:1px solid #ddd;border-radius:4px;font-family:inherit;font-size:.95rem;padding:.75rem;transition:border-color .3s ease}.form-group input[type=date]:focus,.form-group input[type=email]:focus,.form-group input[type=file]:focus,.form-group input[type=tel]:focus,.form-group input[type=text]:focus,.form-group select:focus,.form-group textarea:focus{border-color:#06c;outline:none}.form-group textarea{min-height:80px;resize:vertical}.form-group .char-count{color:#666;display:block;font-size:.85rem;margin-top:.4rem;text-align:right}.form-group.checkbox{align-items:center;flex-direction:row;margin-top:1rem}.form-group.checkbox input[type=checkbox]{cursor:pointer;flex-shrink:0;height:20px;margin-right:.75rem;width:20px}.form-group.checkbox label{cursor:pointer;font-weight:400;margin-bottom:0;text-align:left}.form-actions{border-top:1px solid #ddd;display:flex;gap:1rem;justify-content:center;margin-top:2rem;padding-top:2rem}.btn-reset,.btn-submit{border:none;border-radius:4px;cursor:pointer;font-size:1rem;font-weight:600;padding:.75rem 2rem;transition:all .3s ease}.btn-submit{background-color:#06c;color:#fff}.btn-submit:hover:not(:disabled){background-color:#0052a3}.btn-submit:disabled{background-color:#ccc;cursor:not-allowed}.edit-mode-banner{background-color:#fff3cd;border:1px solid #ffc107;border-radius:4px;color:#856404;font-weight:600;margin-bottom:1.5rem;padding:1rem;text-align:center}.form-toolbar{display:flex;gap:1rem;justify-content:flex-end;margin-bottom:2rem}.btn-view-data{align-items:center;background-color:#06c;border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;font-size:.95rem;font-weight:600;gap:.5rem;padding:.75rem 1.5rem;transition:all .3s ease}.btn-view-data:hover{background-color:#003d99}.modal-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal{background-color:#fff;border-radius:8px;box-shadow:0 4px 20px #0000004d;display:flex;flex-direction:column;max-height:90vh;max-width:600px;width:90%}.modal-header{align-items:center;border-bottom:2px solid #06c;display:flex;justify-content:space-between;padding:1.5rem}.modal-header h2{color:#003d99;font-size:1.3rem;margin:0}.btn-close{background:none;border:none;color:#666;cursor:pointer;font-size:1.5rem;padding:0}.btn-close:hover{color:#000}.modal-body{flex:1 1;overflow-y:auto;padding:1.5rem}.modal-search{align-items:flex-end;display:flex;gap:1rem}.modal-search .form-group{flex:1 1;margin-bottom:0}.btn-search{background-color:#06c;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.95rem;font-weight:600;padding:.75rem 1.5rem;transition:all .3s ease}.btn-search:hover:not(:disabled){background-color:#0052a3}.btn-search:disabled{background-color:#ccc;cursor:not-allowed}.modal-data{display:flex;flex-direction:column;gap:1.5rem}.data-section{background-color:#f9f9f9;border:1px solid #ddd;border-radius:4px;padding:1rem}.data-section h3{border-bottom:2px solid #06c;color:#06c;font-size:1rem;margin:0 0 1rem;padding-bottom:.5rem}.data-row{align-items:flex-start;border-bottom:1px solid #eee;display:flex;gap:2rem;justify-content:space-between;padding:.75rem 0}.data-row:last-child{border-bottom:none}.data-label{color:#333;flex:0 0 auto;font-weight:600;min-width:180px;text-align:left}.data-value{color:#666;flex:1 1;text-align:right;word-break:break-word}.modal-footer{border-top:1px solid #ddd;display:flex;gap:1rem;justify-content:flex-end;padding:1.5rem}.btn-secondary{background-color:#6c757d;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.95rem;font-weight:600;padding:.75rem 1.5rem;transition:all .3s ease}.btn-secondary:hover{background-color:#5a6268}.btn-primary{background-color:#06c;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.95rem;font-weight:600;padding:.75rem 1.5rem;transition:all .3s ease}.btn-primary:hover{background-color:#0052a3}.btn-success{background-color:#28a745;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.95rem;font-weight:600;padding:.75rem 1.5rem;transition:all .3s ease}.btn-success:hover{background-color:#218838}.btn-danger{background-color:#dc3545;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.95rem;font-weight:600;padding:.75rem 1.5rem;transition:all .3s ease}.btn-danger:hover{background-color:#c82333}.file-link{align-items:center;border-radius:4px;color:#06c;display:inline-flex;font-weight:600;gap:.5rem;padding:.4rem .8rem;text-decoration:none;transition:all .3s ease}.file-link:hover{background-color:#f0f0f0;color:#003d99;text-decoration:underline}@media (max-width:768px){.form-row{gap:1rem;grid-template-columns:1fr}.header-content{flex-direction:column;justify-content:center}.header-text{text-align:center}.header-text h1{font-size:1.4rem}.professor-registration-form{margin:1rem;padding:1rem}fieldset{padding:1rem}.form-actions{flex-direction:column}.btn-reset,.btn-submit{width:100%}}.draft-saved-indicator{animation:slideInUp .3s ease-out;background-color:#d4edda;border:1px solid #28a745;border-radius:6px;bottom:20px;box-shadow:0 2px 8px #0000001a;color:#155724;font-size:14px;font-weight:500;left:20px;padding:12px 16px;position:fixed;z-index:1000}@keyframes slideInUp{0%{opacity:0;transform:translateY(100px)}to{opacity:1;transform:translateY(0)}}.form-group .react-select__control{background-color:#fff;border-color:#ccc;border-radius:4px;font-size:.95rem;min-height:40px}.form-group .react-select__control:hover{border-color:#999}.form-group .react-select__control--is-focused{border-color:#06c;box-shadow:0 0 0 3px #0066cc1a}.form-group .react-select__input-container{color:#333}.form-group .react-select__menu{background-color:#fff;border:1px solid #ccc;border-radius:4px;box-shadow:0 2px 8px #0000001a;z-index:1000}.form-group .react-select__option{background-color:#fff;color:#333;cursor:pointer;padding:8px 12px;transition:background-color .2s}.form-group .react-select__option:hover{background-color:#f0f0f0}.form-group .react-select__option--is-focused{background-color:#e6f0ff}.form-group .react-select__option--is-selected{background-color:#06c;color:#fff}.form-group .react-select__clear-indicator,.form-group .react-select__placeholder{color:#999}.form-group .react-select__clear-indicator:hover{color:#666}.form-group .react-select__dropdown-indicator{color:#999}.form-group .react-select__dropdown-indicator:hover{color:#666}.modal-error{border-left:5px solid #dc3545}.modal-error .modal-header{background-color:#fff5f5;border-bottom:2px solid #dc3545}.modal-error .modal-header h2{align-items:center;color:#dc3545;display:flex;gap:.5rem}.error-message{word-wrap:break-word;background-color:#fef5f5;border-left:4px solid #dc3545;border-radius:4px;color:#333;font-size:1rem;line-height:1.6;margin:0;padding:1rem;white-space:pre-wrap}@media (max-width:600px){.draft-saved-indicator{bottom:10px;font-size:13px;left:10px;padding:10px 12px;right:10px}.form-group .react-select__menu{max-height:200px}.form-header{flex-direction:column;gap:1rem}.header-actions{align-items:stretch;flex-direction:column;width:100%}.btn-logout{justify-content:center;width:100%}}.btn-logout{align-items:center;background-color:#dc3545;border:none;border-radius:4px;color:#fff;cursor:pointer;display:inline-flex;font-size:.9rem;font-weight:600;gap:.5rem;padding:.6rem 1.2rem;transition:background-color .3s ease,box-shadow .3s ease;white-space:nowrap}.btn-logout:hover{background-color:#c82333;box-shadow:0 4px 8px #dc354533}.btn-logout:active{transform:scale(.98)}.btn-logout:disabled{background-color:#ccc;cursor:not-allowed;opacity:.6}@media (max-width:768px){.form-header{flex-direction:column;gap:1rem}.btn-logout{align-self:flex-end;font-size:.85rem;padding:.5rem 1rem}}.user-info{background-color:#f0f5ff;border:1px solid #06c;border-radius:4px;gap:1rem;padding:.75rem 1rem}.user-avatar,.user-info{align-items:center;display:flex}.user-avatar{background-color:#06c;border-radius:50%;color:#fff;flex-shrink:0;font-size:1.2rem;height:2.5rem;justify-content:center;width:2.5rem}.user-details{flex:1 1;min-width:0}.user-name{color:#003d99;font-size:.95rem;font-weight:600;text-transform:uppercase}.user-email,.user-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-email{color:#666;font-size:.85rem}@media (max-width:768px){.user-info{gap:.75rem;padding:.5rem .75rem}.user-avatar{font-size:1rem;height:2rem;width:2rem}.user-name{font-size:.85rem}.user-email{font-size:.75rem}}
/*# sourceMappingURL=main.9649e6ca.css.map*/