/* SENSEI-WAY v0.18.96 — viewport, decorative overflow and compact footer.
   Affects the authenticated app shell only; no changes to login or data logic. */
:where(body.forge-live-theme,body.demo-mode):has(.app.online47) {
  background-color: #050b14;
}
.app.online47 {
  min-height: 100dvh;
}
.app.online47 > .main {
  display: flex;
  flex-direction: column;
  min-height: 100dvh;
  /* Absolute wallpaper layers used to extend past short pages and cause
     scroll into the pale document background. Clip only decorative overflow. */
  overflow: clip;
}
.demo-mode .app.online47,
.demo-mode .app.online47 > .main {
  min-height: calc(100dvh - var(--demo-bar-height, 0px));
}
.app.online47 > .main > .wrap {
  display: flex;
  flex-direction: column;
  flex: 1 0 auto;
  min-height: 0;
  width: 100%;
  padding-bottom: 22px;
}
.app.online47 > .main > .wrap > .pagefoot {
  position: relative;
  flex-shrink: 0;
  margin-top: auto;
  padding-top: 31px;
  border-top: 0;
}
.app.online47 > .main > .wrap > .pagefoot::before {
  content: "";
  position: absolute;
  top: 15px;
  left: 0;
  right: 0;
  height: 1px;
  background: var(--line, rgba(174,200,226,.25));
}
@media (max-width: 740px) {
  .app.online47 > .main > .wrap {
    padding-bottom: calc(100px + env(safe-area-inset-bottom));
  }
  .app.online47 > .main > .wrap > .pagefoot {
    row-gap: 7px;
    column-gap: 12px;
    font-size: 9px;
    padding-top: 28px;
  }
  .app.online47 > .main > .wrap > .pagefoot::before {
    top: 13px;
  }
}
/* Avoid accidental overscroll bands behind dark views on newer mobile browsers. */
@supports (overscroll-behavior-y: none) {
  :where(body.forge-live-theme,body.demo-mode):has(.app.online47) {
    overscroll-behavior-y: none;
  }
}

/* Group administrator tools in both desktop and mobile navigation. */
.admin-nav-heading{margin:12px 10px 5px;padding:10px 8px 7px;border-top:1px solid #527089;color:#a9d7e7;font-size:10px;font-weight:800;letter-spacing:.13em}
.more-menu{max-height:calc(100dvh - 105px);overflow-y:auto}
.more-menu .admin-nav-heading{margin:5px 0 6px}
