/* Shared public authentication scene; preserve each form's controls and layout. */
body.ep-auth-layout:has(.ep-login-liquid-scene) { background: #f7faf9; }
.ep-login-liquid-scene {
    position: fixed; inset: 0; pointer-events: none; z-index: 0;
    overflow: hidden;
    background: radial-gradient(ellipse at 50% 0%, #49c8be 0%, #a9e2da 32%, #eff8f5 68%, #f7faf9 100%);
}
.ep-login-liquid-scene canvas { position: absolute; inset: 0; width: 100%; height: 100%; }
body.ep-auth-layout:has(.ep-login-liquid-scene) .ep-login-band { background: transparent; box-shadow: none; }
body.ep-auth-layout:has(.ep-login-liquid-scene) .ep-login-band::before { content: none; animation: none; }
body.ep-auth-layout:has(.ep-login-liquid-scene) .ep-login-wave-parallax { display: none; }
body.ep-auth-layout:has(.ep-login-liquid-scene) .ep-auth-main,
body.ep-auth-layout:has(.ep-login-liquid-scene) .ep-panel-footer { position: relative; z-index: 1; }
body.ep-auth-layout:has(.ep-login-liquid-scene) .ep-panel-footer { background: transparent; }
body.ep-auth-layout:has(.ep-login-liquid-scene) .ep-login-brand { filter: drop-shadow(0 2px 8px #16796f20); }
/* Anchor branding to the viewport edges, independent of language direction. */
body.ep-auth-layout:has(.ep-login-liquid-scene) .ep-login-brand {
    top: 32px !important; left: 32px; right: auto; transform: none;
    width: calc(230px * 17 / 21 * .92 * 2 / 3); height: 45px;
    z-index: 2;
}
body.ep-auth-layout.ep-login-refresh:has(.ep-login-liquid-scene) .ep-login-language {
    /* Override the auth group's logical inset: this belongs to the viewport header. */
    position: fixed; inset-block-start: 32px !important; top: 32px !important;
    right: 32px; left: auto; height: 32px;
    display: flex; align-items: center;
}
