:root{--lp-bg:#f9fafe;--lp-bg-alt:#f0f2fb;--lp-accent:#524dd3;--lp-accent-hover:#3e39b8;--lp-text:#0f0f1a;--lp-text-muted:#6b6f8a;--lp-border:#e2e5f1;--lp-card-shadow:0 4px 24px rgba(82,77,211,.10),0 1px 4px rgba(0,0,0,.06)}body{margin:0;font-family:Inter,sans-serif;min-height:100vh;display:flex;justify-content:center;align-items:center;background-color:var(--lp-bg);background-image:radial-gradient(circle,#d0cef5 1px,transparent 1px);background-size:24px 24px;position:relative;overflow-x:hidden}body::before{content:'';position:fixed;top:-200px;left:50%;transform:translateX(-50%);width:700px;height:700px;background:radial-gradient(circle,rgba(82,77,211,.1) 0,transparent 65%);pointer-events:none;z-index:0}.lp-auth-wrap{position:relative;z-index:1;width:100%;max-width:448px;margin:2rem auto;padding:1rem}.lp-auth-card{background:#fff;border:1px solid var(--lp-border);border-radius:1.25rem;padding:2.5rem;box-shadow:var(--lp-card-shadow);animation:lp-auth-fade-up .45s ease}.lp-auth-logo{display:flex;justify-content:center;margin-bottom:1.5rem}.lp-auth-logo img{height:52px;width:auto;border-radius:.5rem}.lp-auth-title{font-family:Manrope,sans-serif;font-size:1.625rem;font-weight:800;color:var(--lp-text);text-align:center;margin:0 0 .375rem;letter-spacing:-.02em}.lp-auth-subtitle{font-size:.875rem;color:var(--lp-text-muted);text-align:center;margin:0 0 1.75rem;line-height:1.55}.lp-auth-divider{height:1px;background:var(--lp-border);margin:1.25rem 0}.lp-auth-group{margin-bottom:1rem}.lp-auth-label{display:block;font-size:.8125rem;font-weight:600;color:var(--lp-text);margin-bottom:.4rem}.lp-auth-input-wrap{position:relative}.lp-auth-icon{position:absolute;top:50%;left:.75rem;transform:translateY(-50%);color:var(--lp-text-muted);font-size:.9rem;pointer-events:none}.lp-auth-input,input.lp-auth-input{display:block;width:100%;padding:.65rem .875rem .65rem 2.5rem;font-family:Inter,sans-serif;font-size:.9375rem;color:var(--lp-text);background:var(--lp-bg);border:1.5px solid var(--lp-border);border-radius:.625rem;transition:border-color .2s,box-shadow .2s,background .2s;box-sizing:border-box}.lp-auth-input:focus,input.lp-auth-input:focus{outline:0;border-color:var(--lp-accent);box-shadow:0 0 0 3px rgba(82,77,211,.12);background:#fff}.lp-auth-input::placeholder,input.lp-auth-input::placeholder{color:#b8bdd4}.lp-auth-btn{display:block;width:100%;padding:.75rem 1rem;font-family:Manrope,sans-serif;font-size:1rem;font-weight:700;color:#fff;background:var(--lp-accent);border:none;border-radius:.625rem;cursor:pointer;text-align:center;text-decoration:none;transition:background .2s,transform .15s,box-shadow .2s;margin-top:.5rem;letter-spacing:-.01em}.lp-auth-btn:hover{background:var(--lp-accent-hover);transform:translateY(-1px);box-shadow:0 6px 20px rgba(82,77,211,.28);color:#fff;text-decoration:none}.lp-auth-btn:active{transform:translateY(0);box-shadow:none}.lp-auth-links{text-align:center;font-size:.875rem;color:var(--lp-text-muted);margin-top:1rem;line-height:1.6}.lp-auth-links a{color:var(--lp-accent);text-decoration:none;font-weight:600}.lp-auth-links a:hover{text-decoration:underline}.lp-auth-back{display:flex;align-items:center;justify-content:center;gap:.375rem;font-size:.8125rem;color:var(--lp-text-muted);text-decoration:none;margin-top:1.25rem;transition:color .2s}.lp-auth-back:hover{color:var(--lp-accent)}.lp-auth-alert{display:flex;align-items:flex-start;gap:.5rem;padding:.75rem 1rem;border-radius:.625rem;font-size:.8125rem;line-height:1.5;margin-bottom:1rem}.lp-auth-alert--error{background:#fef2f2;border:1px solid #fecaca;color:#dc2626}.lp-auth-alert--info{background:var(--lp-bg-alt);border:1px solid #c7c5ef;color:var(--lp-text)}.lp-auth-alert ul{margin:.4rem 0 0;padding-left:1.125rem}.lp-auth-alert i{flex-shrink:0;margin-top:1px;font-size:.9375rem}.lp-auth-success-icon{display:flex;justify-content:center;margin-bottom:1rem}.lp-auth-success-icon span{display:flex;align-items:center;justify-content:center;width:56px;height:56px;background:rgba(82,77,211,.1);border-radius:50%;color:var(--lp-accent);font-size:1.5rem}@keyframes lp-auth-fade-up{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@media (max-width:480px){.lp-auth-wrap{padding:.75rem}.lp-auth-card{padding:2rem 1.25rem}.lp-auth-title{font-size:1.375rem}}