body{isolation:isolate}.ffcrm-auth{position:relative}.ffcrm-auth .standalone{border:1px solid var(--ffcrm-color-border);border-radius:var(--ffcrm-radius-lg);box-shadow:var(--ffcrm-shadow-lg);color:var(--ffcrm-color-text);padding:var(--ffcrm-space-6);position:relative}.ffcrm-auth .standalone>form>.section,.ffcrm-auth .standalone>.section{margin-top:var(--ffcrm-space-4)}.ffcrm-auth .standalone .title{border-bottom:0;color:var(--ffcrm-color-heading);font-size:var(--ffcrm-font-size-xl);font-weight:var(--ffcrm-font-weight-semibold);line-height:var(--ffcrm-line-height-tight);margin:0 0 var(--ffcrm-space-3);padding:0}.ffcrm-auth .standalone .intro,.ffcrm-auth .standalone .section>p{color:var(--ffcrm-color-text-muted);margin:0 0 var(--ffcrm-space-3);padding:0}.ffcrm-auth .standalone .label{color:var(--ffcrm-color-text);display:block;font-weight:var(--ffcrm-font-weight-medium);margin:var(--ffcrm-space-4) 0 var(--ffcrm-space-2);padding:0}.ffcrm-auth .standalone input[type=text],.ffcrm-auth .standalone input[type=email],.ffcrm-auth .standalone input[type=password]{background:var(--ffcrm-color-surface);border:1px solid var(--ffcrm-color-border-strong);border-radius:var(--ffcrm-radius-md);color:var(--ffcrm-color-text);font-size:var(--ffcrm-font-size-lg);padding:var(--ffcrm-space-3) var(--ffcrm-space-4);transition:border-color var(--ffcrm-motion-duration-fast) var(--ffcrm-motion-ease-standard),box-shadow var(--ffcrm-motion-duration-fast) var(--ffcrm-motion-ease-standard)}.ffcrm-auth .standalone input[type=text]:focus,.ffcrm-auth .standalone input[type=email]:focus,.ffcrm-auth .standalone input[type=password]:focus{border-color:var(--ffcrm-color-accent);box-shadow:0 0 0 var(--ffcrm-focus-ring-width) var(--ffcrm-color-focus-ring);outline:none}.ffcrm-auth .standalone .buttonbar{border-top:0;margin:var(--ffcrm-space-4) 0 0;padding:0}.ffcrm-auth .standalone .buttonbar input[type=submit]{background:var(--ffcrm-color-accent);border:1px solid var(--ffcrm-color-accent);border-radius:var(--ffcrm-radius-md);color:var(--ffcrm-color-on-accent);font-size:var(--ffcrm-font-size-base);font-weight:var(--ffcrm-font-weight-medium);padding:var(--ffcrm-space-3) var(--ffcrm-space-4);transition:background-color var(--ffcrm-motion-duration-fast) var(--ffcrm-motion-ease-standard);width:100%}.ffcrm-auth .standalone .buttonbar input[type=submit]:hover{background:var(--ffcrm-color-accent-hover);border-color:var(--ffcrm-color-accent-hover)}.ffcrm-auth .standalone form>br{display:none}.ffcrm-auth .standalone input[type=submit]:focus-visible,.ffcrm-auth .standalone button:focus-visible{outline:var(--ffcrm-focus-ring-width) solid var(--ffcrm-color-focus-ring);outline-offset:var(--ffcrm-focus-ring-offset)}.ffcrm-auth .user_remember_me{border:0;margin:0 0 var(--ffcrm-space-4);padding:0}.ffcrm-auth .user_remember_me .form-check{align-items:center;display:flex;gap:var(--ffcrm-space-3);margin:0;min-height:0;padding:0}.ffcrm-auth .user_remember_me .form-check-input{accent-color:var(--ffcrm-color-accent);float:none;height:1.125rem;margin:0;width:1.125rem}.ffcrm-auth .user_remember_me .form-check-label{color:var(--ffcrm-color-text);cursor:pointer}@keyframes ffcrm-auth-state-in{from{opacity:0;transform:translateY(calc(var(--ffcrm-space-2) * -1))}to{opacity:1;transform:none}}.ffcrm-auth .login-state{animation:ffcrm-auth-state-in var(--ffcrm-motion-duration-base) var(--ffcrm-motion-ease-emphasized) backwards;background:var(--ffcrm-color-danger-subtle);border:1px solid var(--ffcrm-color-danger);border-inline-start-width:var(--ffcrm-space-2);border-radius:var(--ffcrm-radius-md);color:var(--ffcrm-color-text);margin:0 0 var(--ffcrm-space-5);padding:var(--ffcrm-space-3) var(--ffcrm-space-4)}.ffcrm-auth .login-state[data-login-state=unconfirmed],.ffcrm-auth .login-state[data-login-state=awaiting_approval],.ffcrm-auth .login-state[data-login-state=sso_unlinked]{background:var(--ffcrm-color-warning-subtle);border-color:var(--ffcrm-color-warning)}.ffcrm-auth .login-state[data-login-state=timeout]{background:var(--ffcrm-color-info-subtle);border-color:var(--ffcrm-color-info)}.ffcrm-auth .login-state .login-state-message{color:var(--ffcrm-color-text);margin:0}.ffcrm-auth .login-rate-limit{background:var(--ffcrm-color-warning-subtle);border:1px solid var(--ffcrm-color-warning);border-inline-start-width:var(--ffcrm-space-2);border-radius:var(--ffcrm-radius-md);color:var(--ffcrm-color-text);margin:0;padding:var(--ffcrm-space-3) var(--ffcrm-space-4)}.ffcrm-auth .login-passkey,.ffcrm-auth #login_sso{border-top:1px solid var(--ffcrm-color-border-subtle);margin-top:var(--ffcrm-space-5);padding-top:var(--ffcrm-space-4)}.ffcrm-auth .login-passkey-intro{color:var(--ffcrm-color-text-muted);font-size:var(--ffcrm-font-size-sm);margin:0 0 var(--ffcrm-space-3)}.ffcrm-auth .login-passkey-error{color:var(--ffcrm-color-danger-emphasis);font-size:var(--ffcrm-font-size-sm);margin-top:var(--ffcrm-space-3)}.ffcrm-auth #login_sso{display:grid;gap:var(--ffcrm-space-3)}.ffcrm-auth #login_sso>.label{align-items:center;color:var(--ffcrm-color-text-muted);display:flex;font-size:var(--ffcrm-font-size-sm);font-weight:var(--ffcrm-font-weight-normal);gap:var(--ffcrm-space-3);margin:0}.ffcrm-auth #login_sso>.label::before,.ffcrm-auth #login_sso>.label::after{border-top:1px solid var(--ffcrm-color-border);content:"";flex:1}.ffcrm-auth #login_sso .button_to{margin:0}.ffcrm-auth #login_passkey_button,.ffcrm-auth #login_sso .button_to .btn{align-items:center;background:var(--ffcrm-color-surface);border:1px solid var(--ffcrm-color-border-strong);border-radius:var(--ffcrm-radius-md);color:var(--ffcrm-color-text);display:flex;font-weight:var(--ffcrm-font-weight-medium);gap:var(--ffcrm-space-3);justify-content:center;padding:var(--ffcrm-space-3) var(--ffcrm-space-4);transition:background-color var(--ffcrm-motion-duration-fast) var(--ffcrm-motion-ease-standard),border-color var(--ffcrm-motion-duration-fast) var(--ffcrm-motion-ease-standard);width:100%}.ffcrm-auth #login_passkey_button:hover,.ffcrm-auth #login_sso .button_to .btn:hover{background:var(--ffcrm-color-surface-hover);border-color:var(--ffcrm-color-accent);color:var(--ffcrm-color-text-emphasis)}.ffcrm-auth #login_passkey_button:disabled,.ffcrm-auth #login_sso .button_to .btn:disabled{color:var(--ffcrm-color-text-muted)}.ffcrm-auth #login_passkey_button i,.ffcrm-auth #login_sso .button_to .btn i{font-size:var(--ffcrm-font-size-lg)}.ffcrm-auth .password-policy{background:var(--ffcrm-color-surface-sunken);border:1px solid var(--ffcrm-color-border-subtle);border-radius:var(--ffcrm-radius-md);font-size:var(--ffcrm-font-size-sm);margin-top:var(--ffcrm-space-4);padding:var(--ffcrm-space-3) var(--ffcrm-space-4)}.ffcrm-auth .password-policy .label{margin:0 0 var(--ffcrm-space-2)}.ffcrm-auth .password-policy .password-policy-requirements{color:var(--ffcrm-color-text-muted);display:grid;gap:var(--ffcrm-space-1);list-style:none;margin:0;padding:0}.ffcrm-auth .password-policy .password-policy-requirements li{padding-inline-start:var(--ffcrm-space-5);position:relative}.ffcrm-auth .password-policy .password-policy-requirements li::before{background:var(--ffcrm-color-accent);border-radius:var(--ffcrm-radius-circle);content:"";height:var(--ffcrm-space-2);inset-inline-start:var(--ffcrm-space-1);position:absolute;top:.55em;width:var(--ffcrm-space-2)}.ffcrm-auth .login-links{border-top:1px solid var(--ffcrm-color-border-subtle);color:var(--ffcrm-color-text-muted);display:grid;font-size:var(--ffcrm-font-size-sm);gap:var(--ffcrm-space-2);margin-top:var(--ffcrm-space-5);padding-top:var(--ffcrm-space-4)}.ffcrm-auth .title_tools{color:var(--ffcrm-color-text-muted);float:none;font-size:var(--ffcrm-font-size-sm);margin:0 0 var(--ffcrm-space-3);text-align:end}.ffcrm-auth .standalone a{color:var(--ffcrm-color-link);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.2em}.ffcrm-auth .standalone a:hover{background:none;color:var(--ffcrm-color-link-hover)}.ffcrm-auth .standalone a:focus-visible{border-radius:var(--ffcrm-radius-sm);outline:var(--ffcrm-focus-ring-width) solid var(--ffcrm-color-focus-ring);outline-offset:var(--ffcrm-focus-ring-offset)}#footer a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.2em}.ffcrm-auth-scene{background:var(--ffcrm-color-canvas);inset:0;overflow:hidden;pointer-events:none;position:fixed;z-index:-1}.ffcrm-auth-scene-fallback{background:radial-gradient(60% 55% at 12% 18%, color-mix(in srgb, var(--ffcrm-color-accent) 22%, transparent), transparent 72%),radial-gradient(55% 60% at 88% 82%, color-mix(in srgb, var(--ffcrm-color-info) 18%, transparent), transparent 72%),linear-gradient(160deg, var(--ffcrm-color-canvas) 0%, var(--ffcrm-color-accent-subtle) 100%);inset:0;position:absolute}.ffcrm-auth-scene-art{display:block;height:100%;inset:0;position:absolute;transition:opacity calc(var(--ffcrm-motion-duration-slow)*2) var(--ffcrm-motion-ease-standard);width:100%}.ffcrm-auth-scene-facet-1{fill:color-mix(in srgb, var(--ffcrm-color-accent) 26%, transparent)}.ffcrm-auth-scene-facet-2{fill:color-mix(in srgb, var(--ffcrm-color-accent) 14%, transparent)}.ffcrm-auth-scene-facet-3{fill:color-mix(in srgb, var(--ffcrm-color-info) 18%, transparent)}.ffcrm-auth-scene-facet-4{fill:color-mix(in srgb, var(--ffcrm-color-accent-muted) 45%, transparent)}.ffcrm-auth-scene-link{fill:none;stroke:color-mix(in srgb, var(--ffcrm-color-border-strong) 45%, transparent);stroke-width:1.5}.ffcrm-auth-scene-node{fill:var(--ffcrm-color-accent)}.ffcrm-auth-scene-canvas{display:block;height:100%;inset:0;opacity:0;position:absolute;transition:opacity calc(var(--ffcrm-motion-duration-slow)*2) var(--ffcrm-motion-ease-standard);width:100%}.ffcrm-auth-scene[data-login-scene-state=running] .ffcrm-auth-scene-canvas{opacity:1}.ffcrm-auth-scene[data-login-scene-state=running] .ffcrm-auth-scene-art{opacity:0}@media(prefers-reduced-motion: reduce){.ffcrm-auth-scene-art,.ffcrm-auth-scene-canvas,.ffcrm-auth .standalone input,.ffcrm-auth .standalone .buttonbar input[type=submit],.ffcrm-auth #login_passkey_button,.ffcrm-auth #login_sso .button_to .btn{transition:none}.ffcrm-auth .login-state{animation:none}}@media(forced-colors: active){.ffcrm-auth-scene{display:none}.ffcrm-auth .standalone{border-color:CanvasText}}@media print{.ffcrm-auth-scene{display:none}}
