.balance-bar {
  display: block;
  width: 100%;
  height: 7px;
  margin-top: 5px;
  overflow: hidden;
  appearance: none;
  border: 0;
  border-radius: 99px;
  background: #ede8df;
}

.balance-bar::-webkit-progress-bar {
  border-radius: 99px;
  background: #ede8df;
}

.balance-bar::-webkit-progress-value {
  border-radius: 99px;
  background: linear-gradient(90deg, var(--mint), var(--teal));
}

.balance-bar::-moz-progress-bar {
  border-radius: 99px;
  background: linear-gradient(90deg, var(--mint), var(--teal));
}

/* iPhone/PWA-randen en de nieuwe beheerbediening. */
body {
  min-height: 100dvh;
}

.topbar {
  height: auto;
  min-height: calc(78px + env(safe-area-inset-top));
  padding-top: env(safe-area-inset-top);
  padding-right: max(clamp(18px, 4vw, 54px), env(safe-area-inset-right));
  padding-left: max(clamp(18px, 4vw, 54px), env(safe-area-inset-left));
}

.state-view,
.app-layout {
  min-height: calc(100dvh - 78px - env(safe-area-inset-top));
}

.state-view {
  padding-right: max(28px, env(safe-area-inset-right));
  padding-bottom: max(28px, env(safe-area-inset-bottom));
  padding-left: max(28px, env(safe-area-inset-left));
}

.sidebar {
  top: calc(78px + env(safe-area-inset-top));
  height: calc(100dvh - 78px - env(safe-area-inset-top));
  padding-bottom: max(24px, env(safe-area-inset-bottom));
  padding-left: max(18px, env(safe-area-inset-left));
}

.workspace {
  padding-right: max(clamp(20px, 4vw, 54px), env(safe-area-inset-right));
  padding-bottom: max(clamp(20px, 4vw, 54px), env(safe-area-inset-bottom));
  padding-left: max(clamp(20px, 4vw, 54px), env(safe-area-inset-left));
}

.offline-card .primary-button {
  margin-top: 24px;
}

.member-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
}

.member-actions select {
  width: auto;
  min-width: 112px;
}

.mini-button.is-danger {
  border-color: #efb8aa;
  background: #fff3ef;
  color: #a83721;
}

.destructive-action {
  margin-top: 18px;
}

#deleteGroupForm {
  padding: 0;
}

dialog {
  max-height: calc(100dvh - max(24px, env(safe-area-inset-top)) - max(24px, env(safe-area-inset-bottom)));
}

dialog form,
dialog .dialog-body {
  padding-right: max(30px, env(safe-area-inset-right));
  padding-bottom: max(30px, env(safe-area-inset-bottom));
  padding-left: max(30px, env(safe-area-inset-left));
}

@media (max-width: 760px) {
  .topbar {
    min-height: calc(66px + env(safe-area-inset-top));
    padding-top: env(safe-area-inset-top);
    padding-right: max(14px, env(safe-area-inset-right));
    padding-left: max(14px, env(safe-area-inset-left));
  }

  .state-view,
  .app-layout {
    min-height: calc(100dvh - 66px - env(safe-area-inset-top));
  }

  .sidebar {
    height: auto;
    padding-right: max(14px, env(safe-area-inset-right));
    padding-left: max(14px, env(safe-area-inset-left));
  }

  .workspace {
    padding-right: max(16px, env(safe-area-inset-right));
    padding-bottom: max(16px, env(safe-area-inset-bottom));
    padding-left: max(16px, env(safe-area-inset-left));
  }

  dialog form,
  dialog .dialog-body {
    padding-right: max(24px, env(safe-area-inset-right));
    padding-bottom: max(24px, env(safe-area-inset-bottom));
    padding-left: max(24px, env(safe-area-inset-left));
  }
}

@media (max-width: 540px) {
  .member-item {
    align-items: flex-start;
    flex-direction: column;
  }

  .member-actions {
    width: 100%;
  }

  .member-actions select {
    flex: 1;
  }
}
[hidden] {
  display: none !important;
}
