/* full-viewport app */
.app{
  position:fixed; inset:0; display:flex; flex-direction:column;
  padding: calc(env(safe-area-inset-top) + 0px) 0 calc(env(safe-area-inset-bottom) + 0px);
}

/* main view fills remaining space */
.view{
  flex:1 1 auto; min-height:0;
  overflow:auto;
  padding: 0; /* секции сами дадут отступы */
}

/* bottom tab bar */
.tabbar{
  position:sticky; bottom:0; display:flex; justify-content:space-around; align-items:center;
  padding: 8px 8px calc(8px + env(safe-area-inset-bottom));
  background:rgba(22,26,34,.96); border-top:1px solid var(--border);
  backdrop-filter:saturate(140%) blur(6px);
}
.tabbar__btn{
  appearance:none; border:0; background:transparent; color:var(--fg);
  font: 14px/1 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  padding:10px 14px; border-radius:12px; display:flex; align-items:center; gap:8px;
}
.tabbar__btn[aria-selected="true"]{background:#1a2030; border:1px solid var(--chip-border)}
.tabbar__btn--primary{
  font-size:22px; width:44px; height:44px; border-radius:50%;
  background:var(--primary); color:#fff; display:grid; place-items:center;
  box-shadow:0 6px 16px rgba(45,127,249,.35);
}
