.composer {
  display: flex;
  width: 100%;

  & .composer-contents {
    display: flex;
    flex: 1;

    & .header-nav {
      border-bottom: 1px solid var(--medium-gray);

      & .breadcrumbs {
        text-align: left;
      }
    }

    & dl {
      display: flex;
      flex-direction: column;
      gap: 0.25rem;
    }

    & dl > div {
      display: flex;
      gap: 0.25rem;

      &.double-select {
        & > div:nth-child(1) {
          flex: 1;
        }
      }
    }

    & dl dt {
      display: inline-flex;
      align-items: center;
    }

    & dl dd {
      display: inline-flex;
      align-items: center;
      flex: 1;
      gap: 0.25rem;
      color: black;

      & > div {
        flex: 1;
        display: inline-flex;
        align-items: center;
      }
    }

    & header {
      padding: 1rem;
      font-size: 0.875rem;
      background-color: var(--gray-50);
      border-bottom: 1px solid var(--lightest-gray);
      position: relative;

      & .buttons {
        position: absolute;
        right: 1rem;
        display: inline-flex;
        gap: 0.5rem;
      }

      & fieldset ul {
        margin: 0;
      }

      & label {
        opacity: 0.8;
        font-size: 0.875rem;
        margin: 0;
        font-weight: normal;
      }

      & input {
        width: 100%;
        border: none;
        background: none;
        outline: none !important;
        padding: 0 !important;
      }
    }

    & main {
      flex: 1;
      display: flex;
      flex-direction: column;

      & label {
        display: none;
      }

      & textarea {
        border: none;
        border-radius: 0;
        resize: none;
        width: 100%;
        flex: 1;
        outline: none;
        padding: 1rem;
        margin: 0;
      }
    }

    & footer {
      padding: 0.5rem 1rem;
      border-top: 1px solid var(--lightest-gray);
      display: flex;
      justify-content: space-between;
    }
  }

  & article {
    display: flex;
    flex-direction: column;
    flex: 1;
  }
}

.dark-mode {
  .composer {
    & .header-nav {
      border-bottom: 1px solid var(--gray-900);
    }

    & header {
      background-color: var(--gray-700);
      border-bottom: 1px solid var(--gray-600);
    }

    & footer {
      border-top: 1px solid var(--gray-600);
    }

    & .composer-contents dl dd {
      color: white;
    }
  }
}
