/*
 * Fixed bottom "quick actions" bar shown on phones/small tablets across
 * the public site, the camp portal, and the admin back-office. Hidden by
 * default and only ever shown under the 992px breakpoint, so it never
 * touches desktop layouts. Scoped entirely under .mobile-quickbar / the
 * body's .has-mobile-quickbar flag — no bare element selectors here, so
 * this file is safe to load next to AdminLTE without any style conflicts.
 */
.mobile-quickbar {
  display: none;
}

@media (max-width: 991.98px) {
  body.has-mobile-quickbar {
    padding-bottom: calc(58px + env(safe-area-inset-bottom, 0px));
  }

  .mobile-quickbar {
    display: flex;
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1040;
    background: #ffffff;
    border-top: 1px solid #e2e2e2;
    box-shadow: 0 -2px 12px rgba(0, 0, 0, 0.08);
    padding-bottom: env(safe-area-inset-bottom, 0px);
    justify-content: space-around;
    align-items: stretch;
  }

  .mobile-quickbar .qb-item {
    flex: 1 1 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 3px;
    padding: 8px 2px 6px;
    color: #4a4a4a;
    text-decoration: none;
    font-size: 0.66rem;
    line-height: 1;
    border: 0;
    background: transparent;
    min-width: 0;
    cursor: pointer;
  }

  .mobile-quickbar .qb-item i {
    font-size: 1.05rem;
  }

  .mobile-quickbar .qb-item span {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
  }

  .mobile-quickbar .qb-item.qb-active,
  .mobile-quickbar .qb-item:active {
    color: #006633;
  }

  .mobile-quickbar .qb-item.qb-highlight {
    color: #006633;
    font-weight: 700;
  }
}

/* AdminLTE already reserves its own footer/sidebar chrome — nudge the
   quickbar's body padding a little extra there so it never overlaps the
   AdminLTE main-footer text on short pages. */
@media (max-width: 991.98px) {
  .sidebar-mini.has-mobile-quickbar .content-wrapper {
    margin-bottom: 8px;
  }
}
