@layer modules {
  .form-templates-page {
    width: 100%;
  }

  .form-templates-page--narrow {
    max-width: var(--container-4xl);
    margin-inline: auto;
  }

  .form-templates-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1.5rem;
  }

  .form-templates-header__title {
    font-weight: var(--font-weight-bold);
    font-size: var(--text-4xl);
    line-height: var(--text-4xl--line-height);
  }

  .form-templates-header__actions {
    display: flex;

    & > :not(:last-child) {
      margin-inline-end: 0.75rem;
    }
  }

  .form-templates-filter {
    margin-bottom: 1.5rem;
  }

  .form-templates-filter__list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
  }

  .form-templates-pill {
    padding-inline: 1rem;
    padding-block: 0.5rem;
    border-radius: var(--radius-full);
    font-size: var(--text-sm);
    line-height: var(--text-sm--line-height);
    font-weight: var(--font-weight-medium);
  }

  .form-templates-pill--active {
    background-color: var(--color-blue-600);
    color: var(--color-white);
  }

  .form-templates-pill--inactive {
    background-color: var(--color-gray-200);
    color: var(--color-gray-700);

    &:hover {
      background-color: var(--color-gray-300);
    }
  }

  .form-templates-grid {
    display: grid;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    gap: 1.5rem;

    @media (min-width: 48rem) {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    @media (min-width: 64rem) {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }
  }

  .form-templates-card {
    display: flex;
    flex-direction: column;
    background-color: var(--color-white);
    box-shadow: 0 1px 3px 0 var(--color-black-10), 0 1px 2px -1px var(--color-black-10);
    border-radius: var(--radius-lg);
    padding: 1.5rem;
  }

  .form-templates-card__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    margin-bottom: 0.75rem;
  }

  .form-templates-card__name {
    font-size: var(--text-lg);
    line-height: var(--text-lg--line-height);
    font-weight: var(--font-weight-semibold);
    color: var(--color-gray-900);
  }

  .form-templates-badge {
    padding-inline: 0.5rem;
    padding-block: 0.25rem;
    font-size: var(--text-xs);
    line-height: var(--text-xs--line-height);
    font-weight: var(--font-weight-semibold);
    border-radius: var(--radius-full);
  }

  .form-templates-badge--lg {
    padding-inline: 0.75rem;
    padding-block: 0.25rem;
    font-size: var(--text-sm);
    line-height: var(--text-sm--line-height);
    font-weight: var(--font-weight-semibold);
    border-radius: var(--radius-full);
  }

  .form-templates-card__description {
    flex-grow: 1;
    font-size: var(--text-sm);
    line-height: var(--text-sm--line-height);
    color: var(--color-gray-600);
    margin-bottom: 1rem;
  }

  .form-templates-meta {
    display: flex;
    align-items: center;
    font-size: var(--text-sm);
    line-height: var(--text-sm--line-height);
    color: var(--color-gray-500);
    margin-bottom: 1rem;
  }

  .form-templates-meta__item--spaced {
    margin-right: 1rem;
  }

  .form-templates-meta__icon {
    display: inline-block;
    width: 1rem;
    height: 1rem;
    margin-right: 0.25rem;
  }

  .form-templates-card__actions {
    display: flex;

    & > :not(:last-child) {
      margin-inline-end: 0.75rem;
    }
  }

  .form-templates-card__action {
    flex: 1;
    text-align: center;
  }

  .form-templates-empty {
    text-align: center;
    padding-block: 3rem;
  }

  .form-templates-empty__icon {
    margin-inline: auto;
    height: 3rem;
    width: 3rem;
    color: var(--color-gray-400);
  }

  .form-templates-empty__title {
    margin-top: 0.5rem;
    font-size: var(--text-sm);
    line-height: var(--text-sm--line-height);
    font-weight: var(--font-weight-medium);
    color: var(--color-gray-900);
  }

  .form-templates-empty__text {
    margin-top: 0.25rem;
    font-size: var(--text-sm);
    line-height: var(--text-sm--line-height);
    color: var(--color-gray-500);
  }

  .form-templates-detail__back-wrap {
    margin-bottom: 1.5rem;
  }

  .form-templates-detail__back {
    color: var(--color-blue-600);
    font-weight: var(--font-weight-medium);

    &:hover {
      color: var(--color-blue-800);
    }
  }

  .form-templates-detail__card {
    background-color: var(--color-white);
    box-shadow: 0 1px 3px 0 var(--color-black-10), 0 1px 2px -1px var(--color-black-10);
    border-radius: var(--radius-lg);
    padding: 1.5rem;
    margin-bottom: 1.5rem;
  }

  .form-templates-detail__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    margin-bottom: 1rem;
  }

  .form-templates-detail__title {
    font-weight: var(--font-weight-bold);
    font-size: var(--text-3xl);
    line-height: var(--text-3xl--line-height);
    color: var(--color-gray-900);
  }

  .form-templates-detail__description {
    color: var(--color-gray-600);
    margin-top: 0.5rem;
    white-space: pre-line;
  }

  .form-templates-detail__meta {
    display: flex;
    align-items: center;
    font-size: var(--text-sm);
    line-height: var(--text-sm--line-height);
    color: var(--color-gray-500);
    margin-bottom: 1.5rem;

    & > :not(:last-child) {
      margin-inline-end: 1.5rem;
    }
  }

  .form-templates-detail__use {
    --btn-padding: 0.75rem 1.5rem;
    --btn-radius: var(--radius-lg);
  }

  .form-templates-fields {
    background-color: var(--color-white);
    box-shadow: 0 1px 3px 0 var(--color-black-10), 0 1px 2px -1px var(--color-black-10);
    border-radius: var(--radius-lg);
    overflow: hidden;
  }

  .form-templates-fields__header {
    padding-inline: 1.5rem;
    padding-block: 1rem;
    border-bottom-style: solid;
    border-bottom-width: 1px;
    border-color: var(--color-gray-200);
  }

  .form-templates-fields__title {
    font-size: var(--text-lg);
    line-height: var(--text-lg--line-height);
    font-weight: var(--font-weight-medium);
    color: var(--color-gray-900);
  }

  .form-templates-fields__intro {
    margin-top: 0.5rem;
  }

  .form-templates-fields__intro-title {
    font-size: var(--text-sm);
    line-height: var(--text-sm--line-height);
    font-weight: var(--font-weight-medium);
    color: var(--color-gray-700);
  }

  .form-templates-fields__intro-description {
    font-size: var(--text-sm);
    line-height: var(--text-sm--line-height);
    color: var(--color-gray-500);
    white-space: pre-line;
  }

  .form-templates-fields__body {
    padding-inline: 1.5rem;
    padding-block: 1rem;
  }

  .form-templates-fields__list > :not(:last-child) {
    margin-bottom: 0.75rem;
  }

}
