/*
 * Global zero-gap input rhythm.
 *
 * This file is intentionally loaded after every page-specific stylesheet so
 * field rows cannot regain whitespace through a later grid or flex rule.
 * Spacing around actions and non-input sections remains explicit below.
 */
.jp-auth-fields,
body form.jp-composer__form.jp-composer__form,
body form.jp-payee-form.jp-payee-form,
body form.jp-phase-create-form.jp-phase-create-form {
  gap: 0 !important;
  row-gap: 0 !important;
  column-gap: 0 !important;
}

/* Legacy forms create their vertical rhythm with padding on every field. */
form .form-group.boxed:has(:is(input:not([type="hidden"]), select, textarea)),
form.jp-role-invite-form .jp-role-invite-field {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* Keep actions and structural controls separate from the joined input bank. */
form.jp-composer__form > :is(.jp-composer__actions, .jp-composer__upload, .jp-form-status),
form.jp-payee-form > .jp-payee-form__actions,
form.jp-phase-create-form > .jp-phase-create-field--submit {
  margin-top: 8px !important;
}
