.demo-login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;position:relative;overflow:hidden;background:radial-gradient(1200px 600px at 50% 0,rgba(238,247,251,.4),transparent 60%),linear-gradient(145deg,#f6f7ff,#eef3ff 34%,#fff);background-attachment:fixed}.demo-login-card{background:#fff;border-radius:20px;box-shadow:0 20px 60px rgba(15,23,42,.08),0 8px 24px rgba(15,23,42,.06),0 0 0 1px rgba(226,232,240,.8);padding:40px;max-width:420px;width:100%;position:relative;animation:cardFadeIn .5s cubic-bezier(.4,0,.2,1);transform-origin:center}@keyframes cardFadeIn{0%{opacity:0;transform:translateY(20px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.demo-login-header{text-align:center;margin-bottom:32px}.demo-logo-icon{display:flex;justify-content:center;margin-bottom:20px;animation:logoFloat 3s ease-in-out infinite}@keyframes logoFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.demo-login-header h2{color:#0f172a;margin:0 0 8px;font-size:28px;font-weight:700;letter-spacing:-.02em;line-height:1.2}.demo-login-header p{color:#64748b;font-size:15px;line-height:1.5;margin:0;font-weight:400}.demo-message{display:flex;align-items:center;gap:10px;padding:14px 16px;border-radius:12px;margin-bottom:24px;font-size:14px;font-weight:500;animation:messageSlideIn .3s ease-out}@keyframes messageSlideIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.demo-message-icon{font-size:16px;font-weight:700;flex-shrink:0}.demo-message-success{background:#d1fae5;color:#065f46;border:1px solid #a7f3d0}.demo-message-success .demo-message-icon{color:#10b981}.demo-message-error{background:#fee2e2;color:#991b1b;border:1px solid #fecaca}.demo-message-error .demo-message-icon{color:#ef4444}.demo-login-form{margin-top:8px}.form-group{margin-bottom:24px}.form-group label{display:block;margin-bottom:8px;color:#0f172a;font-weight:600;font-size:14px;letter-spacing:-.01em}.input-wrapper{position:relative;display:flex;align-items:center}.input-icon{position:absolute;left:16px;color:#94a3b8;pointer-events:none;z-index:1;transition:color .2s ease}.form-control{width:100%;padding:14px 16px 14px 48px;border:2px solid #e2e8f0;border-radius:12px;font-size:16px;font-weight:400;color:#0f172a;background:#fff;transition:all .2s cubic-bezier(.4,0,.2,1);box-sizing:border-box;height:48px}.form-control::-moz-placeholder{color:#94a3b8}.form-control::placeholder{color:#94a3b8}.form-control:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 4px rgba(102,126,234,.1)}.form-control:focus+.input-icon,.input-wrapper:focus-within .input-icon{color:#667eea}.form-control.invalid{border-color:#ef4444}.form-control.invalid:focus{box-shadow:0 0 0 4px rgba(239,68,68,.1)}.error-text{color:#ef4444;font-size:13px;margin-top:6px;font-weight:500;display:flex;align-items:center;gap:4px}.otp-input-group{display:flex;gap:10px;justify-content:space-between;margin-bottom:8px}.otp-input,.otp-input-group{width:100%;min-width:0;box-sizing:border-box}.otp-input{flex:1 1 0;aspect-ratio:1;max-width:56px;height:56px;border:2px solid #e2e8f0;border-radius:12px;font-size:24px;font-weight:600;text-align:center;color:#0f172a;background:#fff;transition:all .2s cubic-bezier(.4,0,.2,1);outline:none}.otp-input:focus{border-color:#667eea;box-shadow:0 0 0 4px rgba(102,126,234,.1);transform:scale(1.05)}.otp-input.filled{border-color:#667eea;background:#f8faff}.otp-hint{color:#64748b;font-size:13px;margin-top:8px;text-align:center;font-weight:400}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 24px;border:none;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);width:100%;position:relative;overflow:hidden}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;height:52px;box-shadow:0 4px 12px rgba(102,126,234,.25),0 2px 4px rgba(102,126,234,.15)}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px rgba(102,126,234,.35),0 4px 8px rgba(102,126,234,.2)}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-spinner{width:18px;height:18px;border:2px solid hsla(0,0%,100%,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.btn-link{background:transparent;color:#667eea;text-decoration:none;margin-top:12px;height:auto;padding:10px;font-weight:500;box-shadow:none}.btn-link:hover:not(:disabled){background:rgba(102,126,234,.05);color:#764ba2;transform:none}.btn-link:disabled{opacity:.5;cursor:not-allowed}.demo-info-text{text-align:center;color:#64748b;font-size:13px;margin-top:20px;line-height:1.5;font-weight:400}.demo-footer{margin-top:32px;text-align:center;padding-top:24px;border-top:1px solid #e2e8f0}.demo-footer p{color:#64748b;font-size:13px;margin:0;line-height:1.5;font-weight:400}.demo-footer .link{color:#667eea;text-decoration:none;font-weight:600;transition:color .2s ease}.demo-footer .link:hover{color:#764ba2;text-decoration:underline}@media (max-width:480px){.demo-login-container{padding:16px}.demo-login-card{padding:32px 24px;border-radius:16px}.demo-login-header h2{font-size:24px}.demo-login-header p{font-size:14px}.otp-input{height:48px;max-width:48px;min-width:40px;font-size:18px}.otp-input-group{gap:6px}}@media (prefers-reduced-motion:reduce){.demo-login-card,.demo-message,.gradientShift,.logoFloat{animation:none}.btn-primary:hover:not(:disabled),.otp-input:focus{transform:none}}.btn:focus-visible,.form-control:focus-visible,.otp-input:focus-visible{outline:2px solid #667eea;outline-offset:2px}