.auth-page{grid-template-columns:1fr 1fr;min-height:100vh;display:grid}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes fadeInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.auth-branding{background:url(/auth-hero.png) 50%/cover no-repeat;border-radius:1.5rem;flex-direction:column;justify-content:space-between;margin:1rem;padding:2rem;animation:.6s ease-out scaleIn;display:flex;position:relative;overflow:hidden}.auth-branding:before{content:"";background:linear-gradient(#0000001a 0%,#0000004d 50%,#000000b3 100%);position:absolute;inset:0}.auth-logo{z-index:1;filter:brightness(0)invert();animation:.6s ease-out .2s both fadeInLeft;position:relative}.branding-content{z-index:1;max-width:400px;animation:.6s ease-out .3s both fadeInUp;position:relative}.branding-content h1{color:#fff;margin-bottom:1rem;font-size:2.5rem;font-weight:700;line-height:1.2}.branding-content h1 span{color:var(--primary)}.branding-content p{color:#ffffffd9;font-size:1rem;line-height:1.7}.auth-form-side{background:#fff;justify-content:center;align-items:center;padding:3rem;display:flex}.auth-form-container{width:100%;max-width:400px;animation:.6s ease-out .2s both fadeInRight}.form-header{margin-bottom:2rem}.form-header h2{color:#1a1a1a;margin-bottom:.5rem;font-size:1.75rem;font-weight:700}.form-header p{color:#6b7280}.auth-form{flex-direction:column;gap:1.25rem;display:flex}.form-group{flex-direction:column;gap:.5rem;display:flex}.form-label{color:#374151;font-size:.875rem;font-weight:500}.input{color:#1a1a1a;background:#fff;border:1px solid #d1d5db;border-radius:.5rem;padding:.75rem 1rem;font-size:1rem;transition:border-color .3s,box-shadow .3s,transform .2s}.input::placeholder{color:#9ca3af}.input:focus{border-color:var(--primary);outline:none;transform:translateY(-2px);box-shadow:0 0 0 3px #3b82f61a}.error-message{color:#dc2626;background:#fef2f2;border-radius:.5rem;padding:.875rem 1rem;font-size:.875rem;animation:.3s ease-out fadeInUp}.label-row{justify-content:space-between;align-items:center;display:flex}.forgot-link{color:var(--primary);font-size:.875rem;transition:color .2s}.forgot-link:hover{text-decoration:underline}.btn{cursor:pointer;border:none;border-radius:.5rem;padding:.875rem 1.5rem;font-size:1rem;font-weight:600;transition:all .3s}.btn-primary{background:var(--primary);color:#fff;position:relative;overflow:hidden}.btn-primary:after{content:"";background:#fff3;border-radius:50%;width:0;height:0;transition:width .4s,height .4s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.btn-primary:hover{background:var(--primary-dark,#2563eb);transform:translateY(-2px);box-shadow:0 4px 12px #3b82f666}.btn-primary:hover:after{width:300px;height:300px}.btn-primary:active{transform:translateY(0)}.btn-primary:disabled{opacity:.6;cursor:not-allowed;box-shadow:none;transform:none}.btn-lg{padding:1rem 1.5rem}.w-full{width:100%}.form-divider{color:#9ca3af;align-items:center;margin:1.5rem 0;font-size:.8125rem;display:flex}.form-divider:before,.form-divider:after{content:"";background:#e5e7eb;flex:1;height:1px}.form-divider span{padding:0 1rem}.form-footer{text-align:center}.form-footer p{color:#6b7280;font-size:.9375rem}.signup-link{color:var(--primary);font-weight:600;transition:color .2s}.signup-link:hover{text-decoration:underline}@media (max-width:900px){.auth-page{grid-template-columns:1fr}.auth-branding{display:none}.auth-form-side{padding:2rem 1.5rem}.auth-form-container{animation:.6s ease-out fadeInUp}}
