*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{background:#f5f6fa;align-items:stretch;min-height:100vh;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;display:flex}.login-wrapper{width:100%;min-height:100vh;display:flex}.login-left{text-align:center;background:linear-gradient(160deg,#4f46e5 0%,#3730a3 60%,#312e81 100%);flex-direction:column;flex:0 0 50%;justify-content:center;align-items:center;padding:48px 40px;display:flex;position:relative;overflow:hidden}.login-left:before{content:"";pointer-events:none;background:#ffffff0a;border-radius:50%;width:400px;height:400px;position:absolute;top:-100px;left:-100px}.login-left:after{content:"";pointer-events:none;background:#ffffff0a;border-radius:50%;width:300px;height:300px;position:absolute;bottom:-80px;right:-80px}.login-left .logo-wrapper{z-index:1;margin-bottom:32px;position:relative}.login-left .logo-wrapper img{filter:drop-shadow(0 8px 24px #00000059);width:160px;height:auto}.login-left .app-title{z-index:1;color:#fff;position:relative}.login-left .app-title h1{letter-spacing:-.3px;font-size:2rem;font-weight:700;line-height:1.2}.login-left .app-title p{letter-spacing:.5px;margin-top:4px;font-size:1.5rem;font-weight:800}.login-right{background:#fff;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:48px 40px;display:flex}.login-right .login-form-container{width:100%;max-width:420px}.login-greeting{text-align:center;margin-bottom:36px}.login-greeting h2{color:#e91e8c;font-size:1.2rem;font-weight:600;line-height:1.6}.login-form-group{margin-bottom:24px}.login-form-group label{color:#374151;letter-spacing:.01em;margin-bottom:8px;font-size:.875rem;font-weight:600;display:block}.login-input-wrapper{align-items:center;display:flex;position:relative}.login-input-wrapper input{color:#1e1e2e;background:#f9fafb;border:1.5px solid #e5e7eb;border-radius:10px;outline:none;width:100%;padding:13px 44px;font-size:.95rem;transition:border-color .2s,box-shadow .2s,background .2s}.login-input-wrapper input:focus{background:#fff;border-color:#4f46e5;box-shadow:0 0 0 3px #4f46e51f}.login-input-wrapper input::placeholder{color:#9ca3af;font-size:.9rem}.login-input-icon{color:#9ca3af;pointer-events:none;flex-shrink:0;width:18px;height:18px;position:absolute;left:14px}.login-eye-toggle{cursor:pointer;color:#9ca3af;align-items:center;transition:color .2s;display:flex;position:absolute;right:14px}.login-eye-toggle:hover{color:#4f46e5}.login-eye-toggle svg{width:18px;height:18px}.login-right .form-control,.login-right .input-group .form-control{color:#1e1e2e;background:#f9fafb;border:1.5px solid #e5e7eb;border-radius:10px;width:100%;padding:12px 16px;font-size:.95rem;transition:border-color .2s,box-shadow .2s}.login-right .form-control:focus,.login-right .input-group .form-control:focus{background:#fff;border-color:#4f46e5;box-shadow:0 0 0 3px #4f46e51f}.login-right .form-control::placeholder,.login-right .input-group .form-control::placeholder{color:#9ca3af}.flash-success{color:#155724;background:#d4edda;border:1px solid #c3e6cb;border-radius:8px;margin-bottom:16px;padding:10px 15px;font-size:.875rem}.flash-error{color:#721c24;background:#f8d7da;border:1px solid #f5c6cb;border-radius:8px;margin-bottom:16px;padding:10px 15px;font-size:.875rem}.btn-login{color:#fff;cursor:pointer;letter-spacing:.3px;background:linear-gradient(135deg,#4f46e5,#6366f1);border:none;border-radius:10px;justify-content:center;align-items:center;gap:8px;width:100%;margin-top:8px;padding:13px 24px;font-size:1rem;font-weight:600;transition:background .2s,transform .1s,box-shadow .2s;display:flex;box-shadow:0 4px 14px #4f46e54d}.btn-login:hover{background:#4338ca;box-shadow:0 4px 16px #4f46e559}.btn-login:active{transform:scale(.98)}.btn-login svg{width:18px;height:18px}.login-date{text-align:center;color:#1e1e2e;margin-top:36px;font-size:.9rem;font-weight:700}@media (width<=768px){.login-wrapper{flex-direction:column}.login-left{border-radius:0 0 32px 32px;flex:none;padding:40px 24px 32px}.login-left .logo-wrapper img{width:110px}.login-left .app-title h1{font-size:1.5rem}.login-left .app-title p{font-size:1.2rem}.login-right{flex:1;justify-content:flex-start;padding:36px 24px 40px}.login-right .login-form-container{max-width:100%}.btn-login{justify-content:center;width:100%}}@media (width<=400px){.login-left .logo-wrapper img{width:90px}.login-left .app-title h1{font-size:1.25rem}.login-left .app-title p{font-size:1rem}}
