/* Bottom tab bar on the standalone pages (Admin, Cost Recovery): same look as the app's own
 * nav; the markup comes from s91nav.js. */
nav.s91nav{
  position:fixed;bottom:0;left:0;right:0;z-index:60;
  background:var(--bg2);border-top:1px solid #1a1d23;
  display:flex;min-height:60px;
  padding-bottom:calc(env(safe-area-inset-bottom, 0px) + 12px);
}
nav.s91nav .nb{
  flex:1 1 auto;min-width:44px;background:none;border:none;color:var(--muted);
  padding:10px 4px 6px;cursor:pointer;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;
  touch-action:manipulation;-webkit-tap-highlight-color:transparent;user-select:none;
  min-height:48px;position:relative;font-family:inherit;
}
nav.s91nav .nb > *{pointer-events:none}
nav.s91nav .nb .ic{line-height:0;display:block}
nav.s91nav .nb .ic svg{display:block}
nav.s91nav .nb-lbl{font-size:12px;font-weight:600;white-space:nowrap}
nav.s91nav .nb.active{color:var(--acc)}
nav.s91nav .nb.active .nb-lbl{font-weight:700}
nav.s91nav .nb.active::after{
  content:'';position:absolute;bottom:2px;left:50%;
  width:4px;height:4px;border-radius:50%;background:var(--acc);transform:translateX(-50%);
}
nav.s91nav .nb:active{opacity:0.6}
/* Keep page content clear of the fixed bar at every width: its height (60 + 12 padding + 1 border)
 * + the safe area + 16px of air. The app itself needs none of this: its nav sits in the flex layout. */
body{padding-bottom:calc(89px + env(safe-area-inset-bottom, 0px));}
