.login-form-container{width:100%}.login-card{background:#fff;border-radius:12px;padding:2.5rem;box-shadow:0 10px 25px #0000001a;width:100%;max-width:400px;margin:0 auto}.login-header{text-align:center;margin-bottom:2rem}.login-header h1{color:#2d3748;font-size:1.5rem;font-weight:700;margin-bottom:.5rem}.login-header p{color:#718096;font-size:1rem;margin-bottom:0}.return-info{margin-top:1rem;padding:.75rem;background:#e6fffa;border:1px solid #81e6d9;border-radius:6px}.return-info small{color:#234e52;font-size:.875rem}.login-error{background:#fed7d7;border:1px solid #feb2b2;color:#742a2a;padding:1rem;border-radius:6px;margin-bottom:1.5rem;font-size:.875rem;text-align:center}.login-form{display:flex;flex-direction:column;gap:1.5rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-weight:500;color:#2d3748;font-size:.875rem}.form-group input{padding:.75rem;border:2px solid #e2e8f0;border-radius:6px;font-size:1rem;transition:border-color .2s ease,box-shadow .2s ease;background:#fff}.form-group input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-group input:disabled{background:#f7fafc;color:#a0aec0;cursor:not-allowed}.form-group input::placeholder{color:#a0aec0}.login-button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:.875rem 1.5rem;border-radius:6px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease;margin-top:.5rem}.login-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 25px #667eea4d}.login-button:disabled{opacity:.7;cursor:not-allowed;transform:none;box-shadow:none}.login-footer{margin-top:2rem;text-align:center;border-top:1px solid #e2e8f0;padding-top:1.5rem}.login-footer p{margin-bottom:.5rem}.login-footer a{color:#667eea;text-decoration:none;font-weight:500;transition:color .2s ease}.login-footer a:hover{color:#5a67d8;text-decoration:underline}.login-footer small{color:#a0aec0;font-size:.75rem;line-height:1.4}@media (max-width: 480px){.login-card{padding:2rem;margin:0 10px}.login-header h1{font-size:1.25rem}.form-group input{padding:.875rem}.login-button{padding:1rem 1.5rem}}.redirect-handler{width:100%}.redirect-content{background:#fff;border-radius:12px;padding:3rem;text-align:center;box-shadow:0 10px 25px #0000001a}.success-icon,.error-icon{font-size:3rem;margin-bottom:1rem}.redirect-content h2{color:#2d3748;margin-bottom:1rem;font-size:1.5rem}.redirect-content p{color:#718096;margin-bottom:2rem;line-height:1.6}.countdown-circle{width:60px;height:60px;border:4px solid #e2e8f0;border-top:4px solid #667eea;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:1rem auto 2rem;animation:spin 1s linear infinite}.countdown-number{font-size:1.5rem;font-weight:700;color:#667eea}@media (max-width: 480px){.redirect-content{padding:2rem}.error-actions{flex-direction:column}}.auth-app{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;padding:20px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}.auth-container{width:100%;max-width:400px}.auth-loading{background:#fff;border-radius:12px;padding:3rem;text-align:center;box-shadow:0 10px 25px #0000001a}.loading-spinner{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #667eea;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 1rem}.auth-error-container{width:100%}.auth-error{background:#fff;border-radius:12px;padding:3rem;text-align:center;box-shadow:0 10px 25px #0000001a}.error-icon{font-size:3rem;margin-bottom:1rem}.auth-error h2{color:#e53e3e;margin-bottom:1rem;font-size:1.5rem}.auth-error p{color:#718096;margin-bottom:2rem;line-height:1.6}.error-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.btn{display:inline-block;padding:12px 24px;border-radius:8px;text-decoration:none;font-weight:500;transition:all .2s ease;border:none;cursor:pointer;text-align:center;font-size:1rem}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 25px #667eea4d}.btn-secondary{background:transparent;color:#667eea;border:2px solid #667eea}.btn-secondary:hover{background:#667eea;color:#fff}@media (max-width: 480px){.auth-app{padding:15px}.auth-container{max-width:100%}.auth-loading,.auth-error{padding:2rem}.error-actions{flex-direction:column}.btn{width:100%}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;line-height:1.6;color:#333;background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh;margin:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh;display:flex;align-items:center;justify-content:center}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.2}*:focus{outline:2px solid #667eea;outline-offset:2px}button:focus,.btn:focus{outline:2px solid #667eea;outline-offset:2px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (prefers-contrast: high){.login-card,.form-group input{border:2px solid #000}.login-button{background:#000;border:2px solid #000}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.loading-spinner,.countdown-circle{animation:none}}
