@layer modules {
  .meeting-missing {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    max-width: var(--container-lg);
    margin-inline: auto;
    min-height: 100vh;
  }

  .meeting-missing__title {
    margin-bottom: 1rem;
    font-size: var(--text-2xl);
    line-height: var(--text-2xl--line-height);
    font-weight: var(--font-weight-bold);
    color: var(--color-gray-800);
  }

  .meeting-missing__lead {
    margin-bottom: 2rem;
    color: var(--color-gray-600);
  }

  .meeting-missing__actions {
    text-align: center;
  }

  .meeting-missing__prompt {
    color: var(--color-gray-600);
  }

  .meeting-missing__link {
    font-weight: var(--font-weight-medium);
    color: var(--color-indigo-600);

    &:hover {
      color: var(--color-indigo-500);
    }
  }

  .meeting-page {
    position: fixed;
    inset: 0;
    z-index: 50;
    display: flex;
    flex-direction: column;
    background-color: var(--color-white);
  }

  .meeting-page__call {
    flex: 1;
    width: 100%;
  }

  /* "call ended" panel — hidden until the Jitsi readyToClose handler flips it to flex */
  .meeting-ended {
    display: none;
    flex: 1;
    width: 100%;
    align-items: center;
    justify-content: center;
    background-color: var(--color-slate-50);
  }

  .meeting-ended__panel {
    text-align: center;
  }

  .meeting-ended__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 3.5rem;
    height: 3.5rem;
    margin-inline: auto;
    margin-bottom: 1.25rem;
    border-radius: var(--radius-full);
    background-color: var(--color-blue-600);
  }

  .meeting-ended__check {
    width: 1.75rem;
    height: 1.75rem;
    color: var(--color-white);
  }

  .meeting-ended__title {
    margin-bottom: 2rem;
    font-size: var(--text-xl);
    line-height: var(--text-xl--line-height);
    font-weight: var(--font-weight-semibold);
    color: var(--color-slate-900);
  }

  .meeting-ended__actions {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
  }

  .meeting-ended__hint {
    margin-bottom: 1rem;
    font-size: var(--text-sm);
    line-height: var(--text-sm--line-height);
    color: var(--color-slate-500);
  }

}
