.beep-login{--beep-primary:#00d9ff;--beep-secondary:#09c;--beep-glow:rgba(0,217,255,.14);--beep-focus:rgba(0,217,255,.35);--beep-button-text:#0a0a0a;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:#0a0a0a;position:relative;overflow:hidden}.beep-login__ambient{pointer-events:none;position:absolute;inset:0;background:radial-gradient(ellipse 75% 55% at 50% -8%,var(--beep-glow),transparent 68%)}.beep-login__panel{position:relative;width:100%;max-width:22rem}.beep-login__brand{display:flex;flex-direction:column;align-items:center;text-align:center;margin-bottom:2.5rem}.beep-login__logo{height:2rem;width:auto}.beep-login__product{margin:1rem 0 0;font-size:.6875rem;font-weight:600;letter-spacing:.32em;text-transform:uppercase;color:var(--beep-primary)}.beep-login__form{display:flex;flex-direction:column;gap:.75rem}.beep-login__field{display:block}.beep-login__input{height:2.75rem;width:100%;border-radius:.5rem;border:1px solid #333;background:#141414;padding:0 .875rem;font-size:.875rem;color:#e8e8e8;transition:border-color .2s ease,box-shadow .2s ease}.beep-login__input::placeholder{color:#5a5a5a}.beep-login__input:focus{outline:none;border-color:var(--beep-primary);box-shadow:0 0 0 3px var(--beep-focus)}.beep-login__input:disabled{opacity:.55;cursor:not-allowed}.beep-login__error{margin:0;font-size:.8125rem;line-height:1.4;color:#f33}.beep-login__submit{margin-top:.25rem;height:2.75rem;width:100%;border:none;border-radius:.5rem;background:var(--beep-primary);color:var(--beep-button-text);font-size:.875rem;font-weight:600;cursor:pointer;transition:background-color .2s ease,transform .15s ease,opacity .2s ease;display:inline-flex;align-items:center;justify-content:center;gap:.5rem}.beep-login__submit:hover:not(:disabled){background:var(--beep-secondary)}.beep-login__submit:active:not(:disabled){transform:scale(.98)}.beep-login__submit:disabled{opacity:.55;cursor:not-allowed}.beep-login__spinner{width:1.125rem;height:1.125rem;animation:beep-login-spin .8s linear infinite}@keyframes beep-login-spin{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){.beep-login__submit:active:not(:disabled){transform:none}.beep-login__spinner{animation-duration:1.4s}}