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}.login-container{align-items:center;background:linear-gradient(135deg,#eef2ff,#f8fafc 50%,#f5f3ff);display:flex;justify-content:center;min-height:100vh;overflow:hidden;padding:20px;position:relative}.login-container:before{background:radial-gradient(circle,#4f46e508 0,#0000 50%);left:-50%;top:-50%}.login-container:after,.login-container:before{content:"";height:100%;pointer-events:none;position:absolute;width:100%}.login-container:after{background:radial-gradient(circle,#8b5cf608 0,#0000 50%);bottom:-50%;right:-50%}.login-card{animation:fadeInUp .6s ease-out;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fffffff2;border:1px solid #4f46e514;border-radius:24px;box-shadow:0 4px 6px -1px #0000000d,0 10px 15px -3px #00000014,0 25px 50px -12px #4f46e526;margin:20px;max-width:480px;padding:48px 40px;position:relative;width:100%;z-index:1}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.login-header{margin-bottom:36px;text-align:center}.school-logo{border:none;border-radius:20px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;display:block;height:90px;margin:0 auto 20px;object-fit:cover;transition:transform .3s ease,box-shadow .3s ease;width:90px}.school-logo:hover{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;transform:scale(1.05)}.login-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#4f46e5,#7c3aed);-webkit-background-clip:text;background-clip:text;font-size:26px;font-weight:700;letter-spacing:-.5px;margin:0 0 8px}.login-subtitle{color:#64748b;font-size:15px;font-weight:400;margin:0}.login-form{width:100%}.form-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr;margin-bottom:28px}.form-group{display:flex;flex-direction:column}.form-group.full-width{grid-column:1/-1}.form-group.half-width{grid-column:span 1}.form-label{align-items:center;color:#334155;display:flex;font-size:13px;font-weight:600;gap:6px;letter-spacing:.01em;margin-bottom:8px}.label-icon{font-size:15px;opacity:.7}.form-input,.form-select{background:#fff;border:2px solid #e2e8f0;border-radius:12px;box-sizing:border-box;color:#1e293b;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:15px;height:52px;padding:14px 16px;transition:all .2s ease;width:100%}.form-input:hover,.form-select:hover{border-color:#cbd5e1}.form-input:focus,.form-select:focus{background:#fff;border-color:#4f46e5;box-shadow:0 0 0 4px #4f46e51a;outline:none}.form-input::placeholder{color:#94a3b8}.password-wrapper{position:relative;width:100%}.password-toggle{align-items:center;background:none;border:none;border-radius:8px;color:#94a3b8;cursor:pointer;display:flex;font-size:18px;height:32px;justify-content:center;padding:4px;position:absolute;right:14px;top:50%;transform:translateY(-50%);transition:color .2s ease;width:32px}.password-toggle:hover{background:#4f46e50d;color:#4f46e5}.form-select{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24'%3E%3Cpath fill='%2394A3B8' d='m7 10 5 5 5-5z'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;background-size:20px;cursor:pointer;padding-right:44px}.submit-btn{align-items:center;background:linear-gradient(135deg,#4f46e5,#7c3aed);border:none;border-radius:12px;box-shadow:0 4px 6px -1px #4f46e54d;color:#fff;cursor:pointer;display:flex;font-size:15px;font-weight:600;height:54px;justify-content:center;letter-spacing:.02em;margin-bottom:16px;overflow:hidden;padding:16px 24px;position:relative;transition:all .3s ease;width:100%}.submit-btn:before{background:linear-gradient(90deg,#0000,#ffffff26,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s ease;width:100%}.submit-btn:hover:not(:disabled):before{left:100%}.submit-btn:hover:not(:disabled){box-shadow:0 10px 15px -3px #4f46e54d,0 4px 6px -2px #4f46e533;transform:translateY(-2px)}.submit-btn:active:not(:disabled){transform:translateY(0)}.submit-btn:disabled{background:linear-gradient(135deg,#94a3b8,#64748b);box-shadow:none;cursor:not-allowed;opacity:.6}.loading-spinner{animation:spin .8s linear infinite;border:3px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:22px;width:22px}@keyframes spin{to{transform:rotate(1turn)}}.toggle-mode{margin:20px 0;text-align:center}.toggle-btn{background:none;border:none;border-radius:8px;color:#4f46e5;cursor:pointer;font-size:14px;font-weight:500;padding:10px 16px;text-decoration:none;transition:all .2s ease}.toggle-btn:hover{background:#4f46e50d;color:#7c3aed}.alert{align-items:flex-start;animation:fadeIn .3s ease;border-radius:12px;display:flex;font-size:14px;gap:12px;margin-bottom:20px;padding:14px 16px}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.alert-error{background-color:#fef2f2;border:1px solid #fecaca;color:#b91c1c}.alert-success{background-color:#ecfdf5;border:1px solid #a7f3d0;color:#047857}.login-footer{border-top:1px solid #e2e8f0;margin-top:32px;padding-top:24px;text-align:center}.footer-text{color:#94a3b8;font-size:12px;margin:0 0 12px}.school-footer{align-items:center;display:flex;gap:10px;justify-content:center}.footer-logo{border-radius:8px;box-shadow:0 1px 2px #0000001a;height:28px;object-fit:cover;width:28px}.footer-school{color:#64748b;font-size:13px;font-weight:500}.password-hint{background:linear-gradient(135deg,#fef3c7,#fef9c3);border-left:4px solid #f59e0b;border-radius:10px;color:#64748b;font-size:13px;line-height:1.5;margin-top:10px;padding:12px 14px}.password-hint small{color:#92400e;font-size:11px;font-weight:500}.error-message{align-items:center;color:#dc2626;display:flex;font-size:12px;gap:4px;margin-top:6px;padding-left:4px}.role-info-box{animation:fadeIn .3s ease;background:linear-gradient(135deg,#eef2ff,#e0e7ff);border:2px solid #c7d2fe;border-radius:12px;margin:12px 0;padding:16px}.role-info-box .info-title{color:#4f46e5;font-size:14px;font-weight:600;margin-bottom:6px}.role-info-box .info-subtitle{color:#6366f1;font-size:13px;line-height:1.4}.conditional-field,.success-message{animation:fadeIn .3s ease}.success-message{background:linear-gradient(135deg,#ecfdf5,#d1fae5);border:1px solid #a7f3d0;border-radius:12px;margin:20px 0;padding:24px;text-align:center}.success-message p{color:#047857;font-size:16px;font-weight:500;margin:12px 0}.success-message small{color:#059669;display:block;font-size:14px;margin-top:8px}.toggle-btn[type=button]{background-color:#f8fafc;border:2px solid #e2e8f0;border-radius:10px;font-weight:500;margin-top:12px;padding:10px 20px;text-decoration:none}.toggle-btn[type=button]:hover{background-color:#f1f5f9;border-color:#cbd5e1}@media (max-width:600px){.login-card{border-radius:20px;margin:10px;padding:32px 24px}.form-grid{gap:16px;grid-template-columns:1fr}.form-group.half-width{grid-column:1/-1}.login-title{font-size:22px}.login-subtitle{font-size:14px}.school-logo{height:80px;width:80px}.submit-btn{height:50px}}.form-group:focus-within .form-label{color:#4f46e5}.divider{align-items:center;color:#94a3b8;display:flex;font-size:13px;margin:24px 0}.divider:after,.divider:before{background:#e2e8f0;content:"";flex:1 1;height:1px}.divider:before{margin-right:16px}.divider:after{margin-left:16px}
/*# sourceMappingURL=main.5935d42a.css.map*/