.cr-auth{position:relative;min-height:100vh;min-height:100dvh;width:100%;display:flex;align-items:center;justify-content:center;padding:1.5rem;overflow:hidden;font-family:var(--font-body),system-ui,sans-serif;--cr-brand:#4b5bf0;--cr-brand-2:#9c8cfa}.cr-auth.light{background:radial-gradient(60% 60% at 80% 0,#e8ebff 0,rgba(232,235,255,0) 60%),radial-gradient(60% 60% at 0 100%,#efe9ff 0,rgba(239,233,255,0) 60%),#f6f7fc;--cr-ink:#1c1b29;--cr-muted:#5b5c70;--cr-faint:#9294a8;--cr-card:#ffffff;--cr-card-border:rgba(28,27,41,0.08);--cr-input-border:#d6d8e8}.cr-auth.dark{background:radial-gradient(60% 60% at 80% 0,#221d52 0,rgba(34,29,82,0) 60%),radial-gradient(60% 60% at 0 100%,#2a2350 0,rgba(42,35,80,0) 60%),#0b0a16;--cr-ink:#f2f3fb;--cr-muted:#b7bad0;--cr-faint:#8a8da6;--cr-card:#15132b;--cr-card-border:rgba(255,255,255,0.08);--cr-input-border:rgba(255,255,255,0.16)}.cr-auth .particles-canvas{position:absolute;inset:0;z-index:0}.cr-auth .theme-toggle{position:absolute;top:1.25rem;right:1.25rem;z-index:10;display:grid;place-items:center;width:40px;height:40px;border-radius:9999px;cursor:pointer;color:var(--cr-muted);background:var(--cr-card);border:1px solid var(--cr-card-border);transition:transform .2s,color .2s}.cr-auth .theme-toggle:hover{transform:rotate(-15deg) scale(1.05);color:var(--cr-brand)}.cr-auth .login-card{position:relative;z-index:5;width:100%;max-width:25rem}.cr-auth .login-card-inner{background:var(--cr-card);border:1px solid var(--cr-card-border);border-radius:22px;padding:2rem 1.75rem;box-shadow:0 24px 60px -20px rgba(28,27,41,.25);animation:cr-auth-in .5s cubic-bezier(.2,.8,.2,1) both}@keyframes cr-auth-in{0%{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:none}}.cr-auth .login-header{text-align:center;margin-bottom:1.5rem}.cr-auth .login-brand{font-size:1.6rem;background:linear-gradient(100deg,var(--cr-brand),var(--cr-brand-2));-webkit-background-clip:text;background-clip:text;color:transparent}.cr-auth .login-brand,.cr-auth .login-header h1{font-family:var(--font-display),sans-serif;font-weight:700}.cr-auth .login-header h1{font-size:1.5rem;color:var(--cr-ink);margin:.6rem 0 .25rem}.cr-auth .login-header p{color:var(--cr-muted);font-size:.9rem;margin:0}.cr-auth .form-field{position:relative;margin-bottom:1.1rem}.cr-auth .form-field input{width:100%;padding:1.3rem .9rem .5rem;font-size:.95rem;color:var(--cr-ink);background:transparent;border:1.5px solid var(--cr-input-border);border-radius:12px;outline:none;transition:border-color .2s,box-shadow .2s}.cr-auth .form-field input:focus{border-color:var(--cr-brand);box-shadow:0 0 0 3px rgba(75,91,240,.14)}.cr-auth .form-field label{position:absolute;left:.95rem;top:.95rem;color:var(--cr-faint);font-size:.95rem;pointer-events:none;transition:transform .18s ease,color .18s ease,font-size .18s ease}.cr-auth .form-field.active label{transform:translateY(-.62rem);font-size:.7rem;color:var(--cr-brand);font-weight:600}.cr-auth .form-field.invalid input{border-color:#e84c4c}.cr-auth .form-field.invalid input:focus{box-shadow:0 0 0 3px rgba(232,76,76,.14)}.cr-auth .error-message{display:block;margin-top:.35rem;font-size:.75rem;color:#e84c4c}.cr-auth .toggle-password{position:absolute;right:.6rem;top:.85rem;display:grid;place-items:center;width:28px;height:28px;border:none;background:transparent;color:var(--cr-faint);cursor:pointer;border-radius:8px}.cr-auth .toggle-password:hover{color:var(--cr-brand)}.cr-auth .form-alert{margin:0 0 1rem;padding:.6rem .8rem;border-radius:10px;font-size:.85rem;font-weight:500;background:rgba(232,76,76,.1);color:#e84c4c}.cr-auth .login-button{width:100%;padding:.85rem;font-family:var(--font-display),sans-serif;font-weight:700;font-size:.95rem;color:#fff;background:linear-gradient(100deg,var(--cr-brand),var(--cr-brand-2));border:none;border-radius:12px;cursor:pointer;transition:filter .15s,transform .1s,opacity .2s}.cr-auth .login-button:hover:not(:disabled){filter:brightness(1.06)}.cr-auth .login-button:active:not(:disabled){transform:translateY(1px)}.cr-auth .login-button:disabled{opacity:.6;cursor:not-allowed}.cr-auth .signup-prompt{margin:1.4rem 0 0;text-align:center;font-size:.875rem;color:var(--cr-muted)}.cr-auth .signup-prompt a{color:var(--cr-brand);font-weight:600;text-decoration:none}.cr-auth .signup-prompt a:hover{text-decoration:underline}@media (prefers-reduced-motion:reduce){.cr-auth .login-card-inner{animation:none}}