.cesa-version-footer {
  box-sizing: border-box;
  width: 100%;
  padding: 12px 16px calc(12px + env(safe-area-inset-bottom));
  background: #1f2120;
  color: #d9dada;
  text-align: center;
  font: 400 12px/18px system-ui, sans-serif;
  overflow-wrap: anywhere;
}
.cesa-version-footer--login { position: fixed; inset: auto 0 0; z-index: 1; }
body:has(.cesa-version-footer--login) .login-screen { padding-bottom: 72px; }

/* Contact Us scrolls inside a desktop phone frame, so reserve footer space. */
@media (min-width: 600px) {
  .cesa-version-footer--framed { position: fixed; inset: auto 0 0; z-index: 2; }
  body:has(.cesa-version-footer--framed) #app {
    height: calc(100dvh - 42px - env(safe-area-inset-bottom));
  }
  body:has(.cesa-version-footer--framed) #app > .screen {
    max-height: calc(100dvh - 74px - env(safe-area-inset-bottom));
  }
}
